»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:01 prevost joined 00:06 ajr_ left 00:12 Psyche^ joined 00:17 BenGoldberg joined
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)␤»
..nqp-moarvm, nqp-jvm: OUTPUT«BOOTHash␤»
japhb__ timotimo: Yeah, I would completely believe that. 00:24
[Coke] can we get an nqp ruling on github.com/perl6/nqp/issues/122 ? (should we reject the ticket or not?) 00:27
BenGoldberg Mouq++ for improving evalbot :)
lue [Coke]: I'd expect it to work like tadzik intended. 00:29
[Coke] Yes, but are you willing to code it? ;) 00:30
00:30 FROGGS joined
lue *mumbles* I was just commenting that it should not be rejected. (Should I leave similar comment on the issue proper?) 00:31
[Coke] would you rank it as a "must have" or "nice to have" ? 00:32
I would say it's at least nice to have.
lue Me personally? "nice to have" [ although I suspect tadzik would say "must" ;) ] 00:33
00:33 stevan_ joined
japhb arnsholt, jnthn: What (if anything) is the native call story for C++ APIs? 00:41
[Coke] updated gist.github.com/coke/6799633 with missing docs +/or ops 00:42
tadzik what does tadzik intend, what is a must? {: 00:43
00:43 prevost left
lue tadzik: broken for @arr -> $b, $c? in NQP (see [Coke]'s link a few lines up) 00:43
tadzik oh :) 00:55
00:55 FROGGS left
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?
tadzik: can you add that comment to the ticket, then?
actually, I can just cut and paste, if you like. 00:57
tadzik feel free :) 00:58
01:02 Mouq joined
Mouq hops back on for a fleeting moment 01:02
dalek p: 6f4f4d5 | coke++ | docs/ops.markdown:
document nqp::x_posixerrno
p: cc173db | coke++ | docs/ops.markdown:
document nqp::shell
p/stdsigspace: 11affd8 | Mouq++ | src/QRegex/P6Regex/ (2 files):
Make sigspace after $<var> = binding significant

Doing this required complexifying the grammar some, but in the process I was at least able to simplify the $<quantified_atom> action
01:03
p/stdsigspace: 4768ece | Mouq++ | t/qregex/rx_modifiers:
Get tests up to spec
p/stdsigspace: f069cce | Mouq++ | src/vm/ (19 files):
Update bootstrap files with STD-compliant sigspace

Only Parrot and JVM. I cannot currently build NQP on MoarVM, but should anyone else be willing generate the bootstrap files for it (and please do), the basic process is:
   git checkout 3b73abb0c src/NQP/Grammar.nqp
   make bootstrap-files
   git checkout -- .
Otherwise, solves GH #140
Mouq ^^^
If anyone could do that, it would be awesome. The next step is updating Rakudo 01:05
Oh, wait. I forgot, you actually have to make bootstrap-files one more time after that to get it working properly. 01:07
[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
Mouq: maybe ping in #moarvm also?
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:09
Mouq [Coke]: Probably a good idea; will do. I just wanted to throw this out there before I go to bed again 01:10
Well, try to 01:11
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)␤»
..nqp-moarvm: OUTPUT«Arg count 1 doesn't equal required operand count 4 for op 'shell'␤compile_mastop␤»
..nqp-jvm: OUTPUT«/␤»
[Coke] moarvm requires -4- arguments? *boggle* 01:14
01:18 Mouq left 01:37 daniel-s joined, monkey joined 01:38 jnap left 01:39 monkey left
diakopter [Coke]: I'm guessing it's counting the output register 01:45
01:48 FROGGS joined
diakopter nqp-m: say(nqp::shell('','','')) 01:51
camelia nqp-moarvm: OUTPUT«This representation (P6str) does not support elems␤frame_name_0␤»
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␤»
diakopter [Coke]: yeah
it takes three
(it compiled and ran with 3) 01:53
02:11 jdv79_ left 02:28 FROGGS left, FROGGS joined 02:38 FROGGS left 02:51 FROGGS joined 02:59 benabik joined 03:05 fridim_ joined 03:06 dayangkun joined 03:12 slavik joined 03:33 FROGGS left 03:38 preflex_ joined, ChanServ sets mode: +v preflex_ 03:39 preflex_ is now known as preflex 03:49 FROGGS joined 04:04 fridim_ left 04:21 [Sno] left 04:43 FROGGS left
moritz \o 04:51
04:57 dansamo joined 05:09 kaleem joined 05:10 kaleem left 05:11 stevan_ left 05:15 lue left 05:20 stevan_ joined 05:21 rindolf left 05:25 [Sno] joined 05:28 BenGoldberg left 05:44 SamuraiJack joined 05:58 cognominal joined 06:18 cognominal left 06:30 dansamo left 06:32 dansamo joined 06:33 daniel-s_ joined 06:37 daniel-s left 06:38 stevan_ left 06:41 darutoko joined 06:45 stevan_ joined
jnthn o/ 06:53
arnsholt 'lo 06:54
dalek kudo/unified-build: e2940b8 | moritz++ | / (3 files):
[configure] fix various regressions from last night

  * fill in nqp_j
  * avoid name collision in src/gen/ModuleLoader.nqp
06:55
kudo/unified-build: 9ed418d | moritz++ | tools/build/Makefile- (2 files):
[build] avoid more name conflicts
06:57 zakharyas joined 06:59 Rotwang joined, cognominal joined 07:03 FROGGS joined 07:13 LWA joined 07:14 fhelmberger joined 07:19 Rotwang left 07:37 denis_boyun joined
masak moritz++ # perlgeek.de/blog-en/perl-6/2013-a-r...ation.html 07:39
07:56 pmurias joined
pmurias [Coke]: re shell/shell3 actually it's shell3 that is supposed to be removed once we remove shell1 07:57
[Coke]: shell3 is not meant to be explicitly used by the user, it's an implementation detail 07:58
moritz huh? once we remove shell1, shell3 is supposed to be removed? 08:02
so, nothing left?
pmurias shell will be left
moritz ah 08:03
shell shall be left.
dalek p: 6e4050a | (Pawel Murias)++ | docs/ops.markdown:
Fix nqp::shell docs.
08:05
pmurias moritz: shell1 and shell3 are just implementation details, all the users should be using the number less versions
moritz is shell3 shocked 08:10
pmurias is anything still using the 1 argument version?
dalek rakudo/unified-build: b0c90ed | (Elizabeth Mattijsen)++ | src/core/Parcel.pm: 08:16
rakudo/unified-build: Implement Parcel.rotate
rakudo/unified-build:
rakudo/unified-build: One wonders whether the internal logic would warrant an nqp::rotate op, which
rakudo/unified-build: could then be shared with List.rotate
08:16 dalek left, dalek joined, ChanServ sets mode: +v dalek
masak lizmat++ # sharing wonder 08:17
08:17 sqirrel joined, ssutch left 08:20 pmurias left 08:23 donaldh joined
moritz seeing a mixed build of rakudo-j and rakudo-p is somewhat scary 08:26
the stagestats from two setting compilations interwoven
postgresql++ # separate char_length and bit_length functions 08:29
FROGGS moritz: you build it at the same time?
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 :-)
masak it seems unrelated to unifying the build.
moritz masak: I merged nom into unified_build to see if that makes the spectest failures go away
FROGGS moritz: maybe you have to draw a table where every build has its own column :D
masak moritz: oh! ok. 08:31
08:33 daxim joined
moritz FROGGS: I won't do anything about it; that's the price people pay for parallel builds 08:34
just wanted to remark that it looks weird to me in general
also for some reason if I run the two spectests in parallel, the the "... ok" columns aren't aligned :-) 08:35
meh, spectest froze laptop :( 08:41
08:41 dakkar joined
moritz ah, I was able to kill it 08:41
the problem is that I can't use 'ulimit', because the JVM I'm using refuses to run in ulimit'ed shell 08:42
even if I give it 2GB of virtual memory, it OOMs on printing the usage message
FROGGS moritz: it was more like a joke 08:49
because I don't think it is that easy to do that at all
08:50 dmol left, dmol1 joined
moritz FROGGS: good :-) 08:51
diakopter moritz: which jvm? 08:58
(you can probably guess I'll recommend oracle-jdk7-installer if you're using openjdk) ;) 08:59
oh, speaking of which... need to re-enable those repos after dist-upgrading host07... 09:00
rebooting host07; hope it comes back 09:01
moritz diakopter: openjdk-7
diakopter: I tried oracle-jdk7-installer but it ran dog slow 09:02
diakopter: was slower than parrot to parse rakudo's setting
diakopter erm, weird
moritz aye
arnsholt diakopter: You're on Windows though, aren't you? 09:03
diakopter I'm on a lot of things...
09:09 camelia joined
diakopter rj: 1 09:09
09:09 camelia left
arnsholt jnthn: So, you know that odd string bug I've been talking about? I'm an idiot. That is all =) 09:10
09:11 camelia joined, dayangkun left
diakopter rj: 1 09:11
moritz: I must be forgetting something about the evalbot 09:12
09:12 ChanServ sets mode: +v camelia
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
rj: 1
camelia rakudo-jvm fd3e68: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
diakopter rj: say 1
camelia rakudo-jvm fd3e68: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
jnthn japhb: No current plans on C++ native calling 'cus name mangling is compiler-dependent. 09:14
arnsholt Compiler version even. IIRC the standard encourages mangling schemes to be incompatible 09:15
09:15 kaleem joined
jnthn arnsholt: You're harsh to yourself too :P 09:15
arnsholt: But glad you got to the bottom of it 09:16
dalek p: 948a58c | (Arne Skjærholt)++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/NativeCallOps.java:
Fix a braino in NativeCallOps' converting into NQP objects.
arnsholt Take a look at that commit and judge for yourself. It's a bit stoopid =)
moritz rj: 1
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]
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
Cheeky :)
arnsholt =D
moritz jnthn: "I like my job very much, thank you!" :-) 09:18
diakopter moritz: does it rely on evalserver?
moritz diakopter: aye 09:19
diakopter oh; how do I launch that
moritz that's wy eval-client.pl give you the exception
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:20
moritz diakopter: as user p6eval_eval run perl ~p6eval/evalbot/runtime/run-rakudo-jvm-evalserver 09:21
moritz does it
probably best with nohup
diakopter "wut's nohup"
moritz diakopter: a small tool that takes care that the process doesn't die when the parent process exits 09:22
rj: 1
camelia ( no output )
moritz rj: say 42
camelia rakudo-jvm fd3e68: OUTPUT«42␤»
diakopter oh goodie 09:24
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
nqp-m: say(nqp::shell('clang --version',[],[]))
camelia nqp-moarvm: OUTPUT«cannot stringify this␤frame_name_0␤»
diakopter nqp-m: say(nqp::shell('clang --version','',[]))
camelia nqp-moarvm: OUTPUT«-2␤»
diakopter nqp-m: say(nqp::shell('clang --version',[],'')) 09:26
camelia nqp-moarvm: OUTPUT«cannot stringify this␤frame_name_0␤»
diakopter how does one use shell
shell3, I guess I mean
moritz rj: say 2
camelia rakudo-jvm fd3e68: OUTPUT«2␤» 09:27
09:28 dayangkun joined, dayangkun left
diakopter moritz: did you see my comment on github.com/perl6/nqp/commit/8dacbf...1d14c3eaca 09:29
moritz diakopter: yes, just haven't got around to act on it 09:30
diakopter oh; it's just release($lit, $MVM_reg_str); at the end of that block 09:31
(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
(after those bloody windows updates are through; did I say yesterday there were 8 of them? 11 now...) 09:33
diakopter heh 09:37
09:41 dansamo left 09:42 dansamo joined 09:43 iSlug joined
dalek p: 6fbabeb | moritz++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp:
[moar] release register, diakopter++
09:43
10:01 xinming joined
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
1. it shouldn't be an error
2. it should only report to STDERR *after* running the program without complaining 10:17
3. I guess there is an "ucfirst" used in panda somewhere
modules/panda/lib/Panda/App.pm 10:18
68: say $k.ucfirst => $v;
dalek nda: 7a81193 | moritz++ | / (2 files):
s/ucfirst/tc/
moritz inconceivable!
oops, I accidentally upgraded Shell::Command too
masak incommittable! 10:19
moritz: ooc, was that the result of a 'git add <everything>'?
moritz masak: git commit -am '...' (a very bad habit, I know) 10:20
masak aye
moritz in my defense I did a 'git pull --rebase' first
masak le staging area is thy frynd.
lizmat japhb__: it also looks to me that that warning is from an older version of rakudo, not the most recent one
moritz which complains about uncommitted changes... EXCEPT FOR SUBMODULE CHANGES
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
moritz nah, pull --rebase isn't dangerous 10:22
masak agree.
but using it to test *whether you have a clean status* is... interesting.
I tend to use 'git status' for that. 10:23
anyway, carry on :) moritz++ for making commits.
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
Subhash Hi, anyone there ? 10:30
lizmat
.oO( I think I am )
10:31
moritz not sure where that "there" is :-)
I am here, but you aren't
lizmat I'm lizmat and you're not 10:32
lizmat wonders who got the SNL reference there
woolfy Like "I'm Chevy Chase and you're not" 10:33
(I got the SNL reference because lizmat is sitting across the table and told me just that)
(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
and wtf is SNL?
woolfy moritz: and very proud of it!
moritz ah, saturday night live 10:35
colomon not just SNL; SNL from the 70s. 10:37
lizmat yeah, season 1..5
10:38 sqirrel left
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
lizmat en.wikipedia.org/wiki/Saturday_Nigh...ve_Samurai :-) 10:39
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.
lizmat watches SNL mostly on long flights or in the bath 10:43
hmmm... about to write my first heredoc in Perl6, looking at the spec, and it doesn't work 10:44
10:46 REPLeffect joined, stevan_ left 10:47 Subhash left, stevan_ joined
colomon the spec doesn't work, or rakudo doesn't? 10:48
lizmat can't get to work S02:259 to wowkk 10:50
synopsebot Link: perlcabal.org/syn/S02.html#line_259
lizmat S02:4433 does work 10:51
synopsebot Link: perlcabal.org/syn/S02.html#line_4433
FROGGS ohh, I'd say multiple heredocs are NYI 10:52
lizmat well, the single case then
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
:-(
jnthn Odd, I thought we largely passed the heredoc tests.
lizmat looks at t/spec/S02-literals/heredocs.t 10:54
no tests for multiple heredocs in there 10:55
lizmat adds it to her list of tests to add 10:58
hmmm... I can also do q:to/TEXT/.chop :-) 11:00
maybe q:to:chop/TEXT/ would be more in line 11:01
diakopter lizmat: wow, Mavericks is more responsive-feeling in a couple ways 11:08
lizmat yes, doesn't it ?
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
lizmat I mean, I can, but the numbers wouldn't make sense
FROGGS lizmat: multiple heredocs are working
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
synopsebot Link: perlcabal.org/syn/S02.html#line_259
lizmat I guess a spec fix is in order, then
FROGGS and the parser thinks (correctly?) that to'CODE is the adverb to q rather than to
so, putting space after to fixes it, except that the ok() and todo() subs are not the ones we have in Test.pm 11:12
lunch & 11:13
11:21 pernatiy joined, denis_boyun left
lizmat actually, that would have to be q:chop:to/TEXT/ 11:29
having it as an adverb, would allow the chopping to be done at compile time, no ?
11:29 stevan_ left
moritz no 11:29
because the string isn't available at compile time 11:30
(in case something is interpolated)
lizmat well, the last, constant part, of the string, would be, no ?
that's the only thing that would need chopping
11:32 iSlug left 11:52 denis_boyun joined 11:55 denis_boyun left
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:00
lizmat in that case, it would generate differently, like adding a .chop at the end 12:01
actually, that is not true
a heredoc *always* has a newline at the end
FROGGS true
lizmat so if the last thing in a heredoc is a variable
it can just not add the newline at the end 12:02
FROGGS ahh, hmmm, chop just chops one thing at the end 12:03
so it would work out
dalek ast: 9de409a | (Elizabeth Mattijsen)++ | S02-types/isDEPRECATED.t:
Tests for "is DEPRECATED" on class, attribute, sub and method
12:10
lizmat should be properly fudged for niecza and pugs
12:35 ajr joined
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 ajr is now known as Guest89916
masak arnsholt: maybe cherry-pick them in, and then rebase --interactive? 12:36
arnsholt: you can cherry-pick anything you can reach by SHA-1.
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
12:37 Guest89916 is now known as ajr_
arnsholt (That is, remove a WIP commit I used to shuffle some stuff from $work-machine to $laptop) 12:37
masak arnsholt: oh! well, just 'git rebase --interactive <somewhere far enough back>', and then 'git push --force', I guess. 12:41
arnsholt Oh! 12:42
moritz though note !rewrite_public_history
arnsholt I thought I'd tried that. Apparently not ^_^
moritz meh, no gitinfo bot in here :-)
arnsholt Yeah, I know 12:43
The public in this context is only me, so it's probably ok (MJD even said so =D)
masak moritz: the '!' feels especially apt for that one ;)
moritz masak: :-)
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
arnsholt: specifically, if you're a one-person team, then doing asocial stuff is vacuously OK. :)
anti-social*
arnsholt Yeah, it's a very private kind of public =) 12:46
masak the private/public is the first-approximation lie-to-children that can then be revised. 12:47
12:50 darutoko left
moritz fondly remembers the day he force-pushed a branch to parrot/master that was about 50 commits behind the current origin/master 12:51
masak o.O 12:52
I... guess it seemed like a good idea at the time? :P
moritz that was when somebody over-enthusiastically merged the 'sixparrot' branch by [Coke]++ into master 12:53
even though it was only meant as an experiment, and there was no concensus among the parrot folks etc.
so [Coke]++ wanted it undone, but wasn't confident enough in his git skills to do undo it himself
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
nobody complained.
masak ah. 12:58
oh, so it was intentional. 12:59
13:05 SamuraiJack left 13:09 pecastro joined, denis_boyun joined
masak and, crucially, those commits were still in the branch if someone wanted them. 13:12
so the only thing that was *really* lost (or, because this is git, "lost") was the merge commit.
13:14 kaleem left 13:19 PacoAir joined 13:20 stevan_ joined 13:21 LWA left, LWA joined 13:24 FROGGS left 13:26 LWA left, LWA joined
moritz and the merge commit was pretty trivial, considering that master was merged into the branch first 13:27
13:27 iSlug joined 13:29 xinming_ joined 13:33 xinming left, colomon left
timotimo arnsholt: note you can just put any sha1 into the editor when you're git rebase -i-ing 13:34
13:37 colomon joined 13:39 iSlug left
dalek kudo/nom: 8141135 | (Elizabeth Mattijsen)++ | src/core/Str.pm:
Remove superfluous DEPRECATED Str.capitalize (caught by Cool instead)
13:40
13:46 bluescreen10 joined 13:49 kaleem joined 13:50 darutoko joined
dalek kudo/nom: 62f1b47 | (Elizabeth Mattijsen)++ | src/core/Deprecations.pm:
Fix problem with .^name sometimes not working
13:59
13:59 kaare_ joined 14:02 kaleem left 14:03 kaleem joined 14:04 kaleem left 14:05 btyler joined
masak s/Fix/Work around/ # :) 14:05
lizmat troo 14:16
masak oh, and lizmat++ 14:17
(even during busy times like these, I enjoy seeing commits flow by on nom)
14:19 benabik left 14:22 benabik joined
mathw o/ 14:24
14:28 iSlug joined
dalek kudo/nom: 4ab8aa7 | (Elizabeth Mattijsen)++ | src/core/PseudoStash.pm:
Remove superfluous DEPRECATED PseudoStash.exists (caught by EnumMap)
14:29
14:32 cibs_ joined 14:35 ajr_ left
dalek ast: 7b9f474 | (Elizabeth Mattijsen)++ | S02-types/deprecations.t:
Tests for deprecated core features
14:36
14:36 ajr joined, ajr is now known as Guest44432 14:37 Guest44432 is now known as ajr_ 14:39 FROGGS joined 14:46 pmurias joined
masak mathw! \o/ 14:47
pmurias would having a nqp port of scons to replace Makefiles be usefull to people?
dalek kudo/nom: 2ce544a | (Elizabeth Mattijsen)++ | t/spectest.data:
Add deprecation tests
14:49
FROGGS pmurias: if we would not need make-tools then yes 14:52
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
nwc10 well
specifically to core perl
FROGGS lizmat: might be just my opinion, yes
nwc10 1) Module::Build isn't useful for bootstrapping 14:54
2) it can't parallelise, unlike make
but I doubt that an scons implemented in NQP would have the first problem
and the second may not be an issue
lizmat cycling& 14:55
nwc10 also, be clear what is an install tool, and what is an authoring tool
Module::Build tries to be both
masak it's an intriguing thought. my first reaction was "no, we're stuck with make, let's not fight that".
but since NQP is bootstrapped, we have NQP as a dependency anyway. might as well implement a build tool on top of it.
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
I don't know if scons is sensible in this fashion
masak 2 steps as in "calculate dependencies" -- "execute dependencies"?
FROGGS nwc10: what two steps?
nwc10 well,
FROGGS ahh
nwc10 Makefile.PL - figure out stuff, and write out rules on how to build it 14:57
Makefile - build it
masak right.
nwc10 which means, if Makefile.PL gets it wrong, you can edit the Makefile
masak ufo is what we have for the first one in Perl 6.
it's basically a toposort.
FROGGS right, you basically can't edit M::B's config_data 14:58
I would recommend that we only switch to something else from Makefiles when we really can expect a benefit 15:00
nwc10 which means that it might as well have run the build when the user typed ./Build.PL 15:01
15:02 jnap joined
pmurias nwc10: scons does seem to first calcuate the order of dependencies and then runs them (it does it all in one process) 15:04
15:05 denis_boyun left
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
masak pmurias: I imagine that's the flexibility that would be needed to add parallelization afterwards.
arnsholt (Or is it do? I can't remember) 15:06
masak arnsholt: redo sounds familiar.
arnsholt: a third option is the rake/jake family of tools. basically an API/DSL for dependency tracking.
pmurias masak: I would prefer to avoid DSLishnes at first 15:08
arnsholt masak: Yeah, the DJB text describing it is cr.yp.to/redo.html and a Python implementation is github.com/apenwarr/redo 15:09
15:09 bluescreen10 left
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
but `./Build.PL && ./BUILD` realy doesn't give you anything you can usefully do at that '&&'
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:11
masak pmurias: well, you need some format or other. :) "DSL" here mostly means "it's pure Ruby/JavaScript/nqp" 15:12
pmurias masak: pure nqp is what I want 15:13
15:13 fhelmberger left
pmurias masak: instead of ruby clumsily mascarading as Makefile ;) 15:14
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
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
but I'm just grandstanding, and contributing little other than chat and distractions
masak pmurias: from what you're saying your goals are, I'd recommend having at least a cursory look at rake and jake.
masak is grandstanding too, basically the only thing he has time for these days :/
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
nwc10: and it should stop my hate of Makefiles from hindering me from working on nqp-js ;) 15:18
jnthn decommute & 15:21
japhb__ jnthn, arnsholt: re: irclog.perlgeek.de/perl6/2013-10-23#i_7752092 , I wonder if a SWIG or Inline:: style approach would serve for C++ calling.
timotimo or something like pypy's Reflex-based c++ interop stuff that someone's been working on for a long time now 15:22
arnsholt timotimo: How's that work? 15:23
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:25 [Sno] left
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
(Haven't looked at the API in detail, of course)
15:29 denis_boyun joined
japhb__ (still backlogging) moritz, did you notice that you didn't upgrade Shell-Command, but rather downgraded it? 15:31
15:32 [particle] joined
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.
ajr_: To whom was that addressed?
15:35 LWA left, LWA joined
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
15:35 cibs joined 15:39 cibs_ left
moritz japhb__: oh, that wasn't intentional; I'll re-upgrade Shell-Command 15:39
japhb__ moritz: Ah, good. 15:41
s/good/thank you/ # More what I meant 15:42
dalek nda: 292ce21 | moritz++ | ext/Shell__Command:
Revert accidential downgrade of Shell::Command

  japhb++
japhb__ Re: irclog.perlgeek.de/perl6/2013-10-23#i_7752789 , why is the desugaring of .^name necessary? How can it fail? 15:44
15:47 zakharyas left 15:50 pmurias left
moritz japhb__: on rakudo-parrot for non-sixmodel objects like RPA 15:51
masak oh! 15:53
I thought it was a circularity saw issue.
moritz r: say nqp::list().^name
masak well, in a way it is, but...
camelia rakudo 2ce544: OUTPUT«No such method 'dispatch:<.^>' for invocant of type 'ResizablePMCArray'␤ in block at /tmp/SsFmLdQhv1:1␤␤»
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␤␤»
benabik r: my $rpa := nqp::list(); say $rpa.HOW.name($rpa)
camelia rakudo 2ce544: OUTPUT«Can only use get_how on a SixModelObject␤ in block at /tmp/joW0ELYK5l:1␤␤»
japhb__ moritz: Gotcha, thank you. I had forgotten I had to deal with that kind of Parrot not-6model stuff for .DUMP.
benabik It seems .HOW.name also fails on non-6mo 15:55
moritz benabik: but it will succeed on NQP-based objects
japhb__ benabik: At least the error makes more sense to someone who doesn't know that .^ is a dispatcher, not a rewrite. 15:56
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:57
japhb__ finally reaches real time 15:58
moritz japhb__: the real use case is probably not RPAs, but NQP objects that we get through the bootstrapping process 16:00
and those support .HOW.name but not .^name
japhb__ nodnod
moritz can anybody please review github.com/rakudo/rakudo/pull/217 ?
masak japhb__: welcome to real time. the trick isn't reaching it, the trick is staying there :)
japhb__ heh
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
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:03
masak the more time I spend on other channels on freenode, the more I realize what an oasis of civilization #perl6 is. 16:09
TimToady is too repressed to give that an appropriate response :) 16:10
japhb__ is afraid to ask which channel brought that on
TimToady
.oO(#moarvm? :)
16:11
masak no, #moarvm is fine. it's a subsidiary of the #perl6 culture :)
it was #node.js in this case, but it doesn't much matter. it's most of them. 16:12
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:13
16:13 iSlug left 16:14 dansamo left
TimToady ah well, SNL isn't for everyone... :P 16:14
masak de gustibus not erat disputandum -- doubly so for jokes. 16:16
non*
daxim nom. 16:17
16:17 btyler left
TimToady well, we also believe that disputandum non est de gustibus here 16:17
there there maybe some who would dispute that :) 16:18
*may be
masak .oO( Illegitimi non disputandum ) 16:20
TimToady Purge the ruby! 16:21
16:24 btyler joined
daxim Take Off Every 'RUBY'!! You know what you doing. 16:29
rurban looks like he is the only one on #ruby also 16:30
TimToady oh, wait, ruby is corundum, not carborundum... 16:32
Unpurge the ruby!
16:34 spider-mario joined
TimToady works on his arb-heit today... 16:36
16:36 ajr_ left 16:37 ajr joined, ajr is now known as Guest23165, Guest23165 is now known as ajr_ 16:47 SamuraiJack joined 16:48 grondilu joined 16:53 ajr_ left
dalek Heuristic branch merge: pushed 28 commits to rakudo/moar-support by jnthn 17:00
japhb That's promising .... 17:02
jnthn Just tracking latest
japhb awww 17:03
FROGGS how do I do that heuristic branch merge again?
jnthn FROGGS: Push > 15 commits at once :P
japhb FROGGS, that's just dalek noticing a big push.
FROGGS ahh
japhb It's avoiding spamming the channel
jnthn japhb: Well, good news is that pulling in latest doesn't regress the current Rakudo on Moar progress 17:04
japhb \o/
Are these still the current instructions for teaching dalek about a new repo? github.com/perl6/mu/blob/master/mi...k-push.txt 17:09
moritz japhb__: yes 17:10
jnthn moritz: For testing unified build stuff, whta do I need? 17:11
moritz: unified-build branches on rakudo and nqp repo?
moritz jnthn: yes
jnthn Can I rely on --gen-nqp or so?
moritz jnthn: I hope you can rely on --gen-nqp=unified-builld
diakopter moritz: nqp/rakudo-parrot don't have libicu linked
on host07
how to I fix 17:12
moritz install libicu-dev
dalek -pb: 14f11c4 | (Geoffrey Broadwell)++ | docs/ROADMAP:
Add a ROADMAP with milestones before first release

This doc contains a first cut at the major milestones required before cutting a first major release, as agreed by ssutch and japhb.
-pb: 7fc6651 | (Geoffrey Broadwell)++ | README.md:
Add a README.md

This version is relatively short but covers all the bases for now, including linking to the ROADMAP doc. Using Markdown format to be more friendly to GitHub users.
-pb: 1ca9062 | (Geoffrey Broadwell)++ | docs/overview:
Stub in an overview doc

This stub just points users to the official Google documentation, especially the Developer Guide and FAQ, noting that the actual Perl 6 API docs will be here of course.
ssutch oops
japhb__ Looks right to me, ssutch. ;-) 17:13
ssutch i guess test sends 3 pushes
more lines than i was expecting
japhb__ (It always brings in the first few when you first set it up, IIRC).
17:13 dakkar left
moritz diakopter: and then reconfigure parrot 17:13
diakopter error: ICU header '/usr/include/unicode/utypes.h' not found 17:18
error: ICU header '/usr/include/unicode/uchar.h' not found
Something is wrong with your ICU installation!
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)
moritz diakopter: I'll take a look
diakopter rnp: 1 17:20
camelia ( no output )
diakopter rakudo: 1
camelia ( no output )
moritz does an apt-get install apt-file; apt-file update; apt-file search uchar.h
diakopter ^ should run rakudo-parrot and rakudo-jvm 17:21
r-p: 1
r-j: 1 17:22
rp: 1
camelia ( no output )
diakopter rj: 1
camelia ( no output )
diakopter o_O
jnthn moritz: Hm. "C:/consulting/ui-test/rakudo/install: No such file or directory at Configure.pl line 65."
Sorry, lines just before that error are: 17:23
Building NQP ...
C:\Perl64\bin\perl.exe Configure.pl --prefix=C:/consulting/ui-test/rakudo/instal
l --backends=parrot,jvm --make-install
timotimo what goes into the decision "should this repo have new commits reported to #perl6?"?
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
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
japhb__ timotimo: My personal feeling: "Is it Perl 6 related, and likely to be interesting to more people in #perl6 than just the author?"
timotimo mhm, all right
diakopter moritz: meh just make symlinks 17:25
maybe patch parrot ... another time :P
17:26 Rotwang joined
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
jnthn Can somebody on non-Windows run this:
FROGGS is missing input 17:27
diakopter (no output)
jnthn perl -e "use Cwd qw(abs_path); abs_path('dir-that-does0not-exist')"
jnthn is missing good internets on the train :P
FROGGS jnthn: no output
diakopter throws you up an internet
jnthn On Windows that dies. 17:28
arnsholt Works on Linux
jnthn dir-that-does-not-exist: No such file or directory at -e line 1.
grr :)
moritz grr indeed
jnthn That's an absolute pain...
diakopter we must conclude that Windows is deadlier.
FROGGS abs_pain(), yeah
windows is the blakberry of the OSes :P 17:29
jnthn Anyway, that's The Immediate Issue.
moritz so, what's the solution? Writing our own abs_path? 17:31
FROGGS just a -e before that?
diakopter wrapping it in eval?
moritz but we want the absolute path even if it doesn't exist
geekosaur abs_path is hard to do sensibly on all platforms, sadly
FROGGS moritz: don't think that will ever work 17:32
dalek p/unified-build: 30e90a8 | jonathan++ | Configure.pl:
Work around abs_path Windows issue.
jnthn *groan* :)
moritz diakopter: symlink in place 17:33
jnthn ok, now it says I need a --gen-parrot...
17:33 darutoko left
moritz do you? 17:33
jnthn adds that
trying ;)
yeah, looks like giving that to Rakudo's Configure passes it along and it' doing it
diakopter moritz: running configure..
moritz diakopter: wait, abort that 17:34
diakopter it ran
moritz you need to get the --prefix right etc.
diakopter making now
did
moritz p6eval@host07:~/evalbot/build-scripts$ ls wipe-and-rebuild-nom.sh
wipe-and-rebuild-nom.sh
that's the script you should run, once the Configure.pl worked once
diakopter boo :)
k 17:35
17:39 pernatiy left
cxreg should the project title for rakudo on github be changed? 17:42
"Rakudo Perl -- Perl 6 on Parrot"
jnthn yes :)
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>"
cxreg: very unlikely
benabik Perl 6 on Milk Stout?
FROGGS hehe 17:44
jnthn Ye^H^H^H^HPerl 6 on Yeti!
cxreg: Added "and JVM" 17:45
FROGGS someone should have named nqp "drugs" or "speed"
cxreg jnthn++ # although only a temporary truth
FROGGS well, that is how it is
jnthn Or "A Compiler Implementation Dream" :D
cxreg :D
FROGGS we are all just temporary :o)
hehe 17:46
17:47 grondilu left
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?
i honestly have no idea how hard that would be
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?
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"
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...
FROGGS and it started to build jvm, then moar and I still see the output of parrot as the last step
arnsholt I've been assuming that Perl 6 to native code compilation will end up being kind of like Common Lisp
FROGGS moritz: I think I re-check 17:52
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 spider-mario left
diakopter (also stored in the bytecode, which is in turn a binary blob in a .c) 17:54
17:54 spider-mario joined
diakopter (seems the most straightforward path) 17:55
(to me)
17:55 [Sno] joined
FROGGS moritz: should it start to build the first backend specified? 17:55
17:55 panchiniak joined
FROGGS moritz: first lines of configure + make: gist.github.com/FROGGS/23780de7d47ef19e3ff7 17:56
jnthn diakopter: aye, though for now I'd planned that we'll only JIT specializations... 17:57
Though if it's worth if we can of course JIT the general case too
diakopter "pre-just-in-time-d" hm :) 17:58
jnthn :)
oh finally this crappy connection cloned a Parrot
diakopter jnthn: quick, save a pristine copy of the clone 17:59
jnthn too late, it started building :)
but pristine with git is easy enough :)
diakopter usually..
jnthn And I can always git clone from my local copy now I have one :)
oh, wait, I already had one...d'oh... :) 18:00
cxreg #parrot is a sad sad place these days
jnthn is forgetting what he has/hasn't cloned onto this new laptop yet :)
FROGGS moritz: I updated the gist, see the first line after the [...] 18:01
18:01 daxim left
[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
*pmurias's
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"
diakopter considers making dalek report only on parrot/parrot to #parrot 18:03
cxreg diakopter++
[Coke] diakopter++ 18:04
18:07 sqirrel joined
moritz FROGGS: so nqp-p is installed as nqp-p, right? 18:08
looks fine to me
FROGGS moritz: but you said the first to --backends will be installed as nqp 18:09
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
s/as/was/
18:12 ajr joined
moritz FROGGS: and 'make install' doesn't even build that runner, just 'make' 18:12
18:13 ajr is now known as Guest62577
moritz (I can change that if desired) 18:13
benabik dislikes `make install` building things.
18:13 Guest62577 is now known as ajr_
jnthn moritz: Well, get to "NQP has been built and installed." 18:13
moritz: Then it tries to do C:/consulting/ui-test/rakudo/install/bin/nqp-j.exe
When it should be .bat I guess
moritz: Any idea where abouts I should look to fix this? 18:15
hm, and where on earth does $impls come from... 18:17
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)
dalek kudo/unified-build: cc3d1ce | moritz++ | tools/lib/NQP/Configure.pm:
blind try at a Windows fix
18:20
moritz jnthn: maybe this fixes it
jnthn That helps 18:24
Now for some reason it rockets through the build building nothing... :S 18:25
unltil it tries to run perl6 on the JVM to build the setting...
moritz jnthn: look at the generated Makefile. What's NQP_J set to? 18:26
jnthn J_NQP?
moritz or that, yes
moritz a bit confused
jnthn J_NQP = C:/consulting/ui-test/rakudo/install/bin/nqp-j.bat
moritz and does that exist? 18:27
jnthn ah, and changing those to \ fixes it, it seems...
moritz oh
there's an nqp::makefile marker in some of the Makefile-*.in
try adding that to tools/build/Makefile-common.in too 18:28
jnthn ok
will try it once it gets through the build.provided it does after this hand hack
moritz ok, I was wrong, currently it's in Makefile-Parrot.in 18:29
maybe it needs to go into Makefile-{JVM,common}.in
jnthn java -Xss1m -Xms500m -Xmx1600m -Xbootclasspath/a:.; 18:30
...
That's the reason it's not in Makefile-JVM at present
That / there musn't be \'d
moritz if it's just that one variable, we can substitute that in rakudo's Configure.pl 18:31
18:35 stevan_ left
jnthn True 18:35
It has done the JVM build and is mostly through the Parrot one now
moritz \o/
18:35 stevan_ joined 18:36 LWA left
[Coke] f~. 18:39
jnthn And they make test
[Coke] O_o
jnthn So, it is just that one thing
moritz: How'd you suggest I fix it?
18:40 LWA joined
jnthn oh, I may see it 18:40
moritz jnthn: like this :-)
dalek kudo/unified-build: eb6c75e | moritz++ | Configure.pl:
try to fix NQP path on windows
[Coke] proffers gist.github.com/coke/7124190 as an update to the shell docs. 18:41
jnthn moritz: trying :) 18:42
hah, that's almost exactly the patch I wrote here :)
Looking better \o/
moritz \o/
[Coke] seen moritz?
jnthn So, looks like the branch is working nicely on Windows now :)
[Coke] (crap, don't even have a bot that can rat out the missing bot.) 18:43
geekosaur preflex: seen moritz
preflex moritz was last seen on #perl6 55 seconds ago, saying: \o/
jnthn perflex: seen yoleaux
gha
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.
jnthn yoleaux: AND YOU FAILED ME.
geekosaur you b0rked it!
18:45 benabik left
moritz oh, I just realized that the branch likely doesn't install the 'perl6' binary 18:46
it just builds it
[Coke] preflex: seen pmurias?
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 ;)
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?
jnthn moritz: Yeah, confirm that patch gets things looking good.
18:47 benabik joined
moritz git diff --shortstat nom...unified-build 12 files changed, 442 insertions(+), 469 deletions(-) 18:47
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...
[Coke]: but that's just a handful
[Coke]: Do you have a particular case in mind? 18:49
[Coke] jnthn: like nqp::shell3
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.
substr and index are the two I know of
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"
jnthn: but the underlying ones are just as valid as the vararg one, typically?
jnthn moritz: Yeah, I don't see why not
diakopter +11
jnthn [Coke]: I guess, though they're not really idiomatic :) 18:51
[Coke]: On the shell one though, I *think* that the shell1 variant may end up going away..
Or maybe I just remember wrong. But I thought that was the plan. 18:52
The substr2/substr3 will likely stay, though.
But it's probably better to just write nqp::substr(...) :)
[Coke] ok. I'll try to focus the docs that way. Danke.
moritz [Coke]++ # nqp op docs 18:53
itz jnthn: are you speaking in Salzburg?
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
moritz: Which is, I guess, OK, but means you don't hvae the two test outputs handy at the end of the output.
itz: Yes. 18:55
See act.useperl.at/apw2013/schedule
18:55 estrabd joined, estrabd left
jnthn um, apparently I'm speaking quite a bit :) 18:55
moritz jnthn: might be fixable, but can be done after The Merge
itz ty
jnthn Last I checked I only had one talk accepted :)
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)
jnthn moritz: And not a merge blocker to me.
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 :)
The one I don't look forward to merging this into is moar-support ;) 18:57
But maybe some kind soul will save me that task :)
moritz jnthn: I can try to look into it, being familiar with the new build system and all 18:59
jnthn \o/
The stuff in place so far is very, very similar to how ConfigureJVM and Makefile-JVM looked.
FROGGS does it makes sense to wait until rakudo-m got further?
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
jnthn Otherwise we just put off the work.
19:02 iSlug joined
FROGGS jnthn: an I do something for rakudo@moar atm? 19:03
can* 19:05
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…»
lizmat r: Set.new(<a>)<a>:exists # apparently, an empty hash misses something 19:07
camelia ( no output )
lizmat r: say Set.new(<a>)<a>:exists
camelia rakudo 2ce544: OUTPUT«True␤»
19:08 SamuraiJack left
jnthn FROGGS: I thought you were working on extops building? :) 19:09
19:10 sqirrel left, Khisanth joined
jnthn That's the most pressing thing 19:11
dalek p: 41f97f0 | coke++ | docs/ops.markdown:
document nqp::null
p: 7f486fc | coke++ | docs/ops.markdown:
Slight update to opcodes considered "Internal".

Include some text about Internal & Deprecated ops.
reformat a bit so it's clear what the primary opcode is.
  pmurias++ jnthn++
19:11 Khisanth is now known as Guest2924
[Coke] How does that look? (shell, rindex, ord, index and substr all have "internal" op variants) 19:13
jnthn [Coke]: Looks good to me 19:14
lizmat jnthn, moritz: is there a subtle difference between "my %e" and "my %e = ()" ?
moritz not yet, I think 19:15
lizmat adding the "= ()" makes the "Set.new<a>:exists" error go away
src/core/Setty.pm, line 26
nwc10 r: my %e = (); BEGIN {++%e<k>}; say $_ for keys %e
camelia ( no output )
nwc10 r: my %e; BEGIN {++%e<k>}; say $_ for keys %e
camelia rakudo 2ce544: OUTPUT«k␤»
nwc10 I know that one :-) 19:16
[Coke] jnthn++: Danke.
pmurias: if you read this in review, hopefully we now have the best of both worlds there. Thanks.
19:17 lue joined
lue hello world o/ 19:17
[ I see we still don't have yoleaux. What happened to 'im? :( ]
diakopter .ask dpk wearfour eart thow 19:18
dalek kudo/nom: 882e337 | (Elizabeth Mattijsen)++ | src/core/Setty.pm:
Fix strange kind of initialization problem on Set.new<a>:exists
[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.…»
..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…»
..nqp-moarvm: OUTPUT«Unknown constant ''␤frame_name_772␤»
[Coke] whee!
moritz nqp-jvm is slightly LTA here :-)
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)␤»
..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…»
..nqp-moarvm: OUTPUT«Unknown constant ''␤frame_name_772␤»
jnthn lizmat: Maybe in so far as () forces the internal storage to be vivified 19:22
[Coke] nqp: say nqp::const::CCLASS_WORD; 19:23
camelia nqp-moarvm: OUTPUT«Confused at line 2, near "say nqp::c"␤panic␤»
..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)␤»
..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…»
[Coke] nqp: say(nqp::const::CCLASS_WORD); # maybe the default shouldn't be everything.
camelia nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«8192␤» 19:24
19:24 denis_boyun left
[Coke] urk. that's not like any other "opcode". :) 19:24
jnthn lizmat: But it looks like exists_key checks nqp::defined
[Coke] jnthn: no way to extend the constant map at runtime, aye?
lizmat eh, no: nqp::existskey(%!elems, nqp::unbox_s($k.WHICH)); 19:25
dalek kudo/unified-build: 7b2213d | moritz++ | / (3 files):
[build] install "perl6" executable
moritz [Coke]: I'm pretty sure that rakudo on parrot at least resolves those constants at compile time
[Coke] commutes for a bit.
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.
[Coke] really commutes for a bit.
moritz ok, time to merge
diakopter moritz++
moritz is slightly scared
lizmat jnthn: ok, I'll try to do this differently
jnthn lizmat: Anyway, perhaps that is what's missing
yeah, the = () feels like a workaround... 19:27
dalek Heuristic branch merge: pushed 49 commits to nqp by moritz
19:27 Rotwang left
dalek Heuristic branch merge: pushed 33 commits to rakudo/nom by moritz 19:28
timotimo unified-build is now mainline? 19:31
FROGGS jnthn: yes, still working on the perl6_ops.dll
moritz timotimo: yes
timotimo: and I promptly found stuff I didn't like :-)
timotimo well, it's still cool :) 19:32
good work!
moritz (mostly just missing cleanups)
timotimo that's easy to do in afterthought
dalek kudo/nom: 3ac1c3d | (Elizabeth Mattijsen)++ | src/core/Setty.pm:
Alternate solution to fixing Set.new<a>:exists
19:33
moritz what's the difference between @foo@ and @@foo@@ placeholders in the Makefile.in tempaltes?
lizmat $ perl Configure.pl --gen-parrot 19:34
No suitable nqp executables found! Please specify some --backends, or a --prefix that contains nqp-{p,j} executables
so what should I specify ?
moritz --backends=parrot for example
lizmat instead of the --gen-parrot ? 19:35
moritz I guess I could make --gen-parrot imply backend parrot
lizmat well, then you wouldn't have to change the README :-)
moritz lizmat: in addition to --gen-parrot, unless you already have a parrot installed
arnsholt --gen-parrot should probably imply you want the parrot backend
moritz arnsholt: that seems obvious, but I'm not sure
arnsholt Why is that?
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
arnsholt: which is kinda OK, but also feels like we treat parrot way more magical that JVM
lizmat: I'm pretty sure both READMEs will need updating
arnsholt Yeah, that does make sense 19:37
Explicit is better than implicit, some times =)
lizmat maybe --backends=parrot should imply --gen-parrot ?
moritz lizmat: I don't think so
arnsholt Probably not
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
dalek kudo/nom: d99570b | (Elizabeth Mattijsen)++ | README:
Adapt build instruction for parakudo to current situation
19:38 iSlug left
lizmat ===SORRY!=== 19:39
I'm missing some needed files:
/Users/liz/Github/rakudo/install/bin/nqp-p
:-(
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
moritz lizmat: did it try to build NQP for you? 19:40
lizmat
.oO( keeping your mouth shut during eating also helps )
moritz lizmat: and what exactly was your configure command line?
arnsholt diakopter: My colleagues sometimes inform me of the loudness level of my headphones by heckling the choice of music =)
lizmat moritz: perl Configure.pl --gen-parrot --backends=parrot
moritz: it also said: NQP has been built and installed. 19:41
Verifying installation ...
diakopter one would have to speak loudly directly toward me for me to hear them heckle me..
arnsholt Yeah, they're mostly seated so I can see them
moritz lizmat: and is there a /Users/liz/Github/rakudo/install/bin/nqp-p ?
lizmat $ ls -ls /Users/liz/Github/rakudo/install/bin/nqp-p 19:42
ls: /Users/liz/Github/rakudo/install/bin/nqp-p: No such file or directory
jnthn FROGGS: ok, great :)
diakopter lizmat: forgot --prefix ?
moritz lizmat: can you please nopaste the complete configure + build log?
lizmat sure
moritz diakopter: no, missing prefix becomes ./install which looks correct here
diakopter but maybe not for nqp anymore 19:43
er, the backend
19:43 denisboyun joined, Rotwang joined
dalek p: bbf9ecc | moritz++ | tools/build/Makefile- (2 files):
[build] more thorough cleanup
19:45
lizmat moritz: too a while, I think it's all here: gist.github.com/lizmat/7125431 19:48
dalek p: 82dcfba | moritz++ | tools/build/Makefile- (2 files):
[build] moar cleanups
moritz lizmat: thanks, I'll try to figure out what's wrong
lizmat moritz: is this related? 19:49
$ make
make: *** No rule to make target `p-all', needed by `all'. Stop.
moritz lizmat: yes. The Makefile has ben written incompletely 19:50
dalek ast: 55c0466 | (Elizabeth Mattijsen)++ | S02-types/deprecations.t:
Unfudge now passing test
moritz lizmat: just to make the assumptions clear: you had a parrot already installed, right? 19:52
lizmat well, I've always just used --gen-parrot as parameter, and that build and installed one for me, yes 19:53
*built
moritz tries to reproduce 19:55
TimToady TMI 19:56
diakopter *snort* 19:57
19:57 denisboyun left
TimToady actually, TLI 19:57
lizmat moritz: fwiw, I just did a pull, and then tried to build again
diakopter lizmat: is there a parrot in the path? 19:59
lizmat $ which parrot
LizyPro-2:rakudo liz$ ls -ls /Users/liz/bin/parrot
8 lrwxr-xr-x 1 liz 501 35 Apr 8 2013 /Users/liz/bin/parrot -> ../Github/rakudo/install/bin/parrot
diakopter
.oO( "yes, it's looking a little down-trodden.." )
moritz eeks, symlinks :-) 20:01
20:02 jon2232 joined
diakopter I can vaguely imagine that being a problem, but only for parrot in particular 20:02
in a very particular ethereally-imagined situation
dalek p: 9906f5e | moritz++ | / (2 files):
update REAMDE, Configure.pl help text
20:03
moritz diakopter: well, parrot_config reports the paths it was buit for 20:04
diakopter: and if those differ from the path where parrot was found, things could get funny
lizmat moritz: shall I kill the symlink and try again ?
moritz lizmat: not yet
diakopter votes yes 20:05
TimToady votes maybe 20:06
diakopter TimToady: wait, is this one of those trinary California propositions, or line-item veto, or what
dalek p: 89fb052 | moritz++ | tools/build/Makefile-Parrot.in:
do not clean nqp_launcher

it is created by Configure.pl, so a simple "make" does not rebuild it. Needs a better solution in the long term
20:08
20:08 FROGGS left
lizmat moritz: Unknown option: backends 20:09
could that be the issue?
20:10 xenoterracide joined
diakopter forgot the equal sign? 20:10
eh
<- stu
lizmat it's in the line:/usr/local/bin/perl Configure.pl --prefix=/Users/liz/Github/rakudo/install --backends=parrot --make-install 20:11
moritz lizmat: please cd nqp; git describe and tell me the output 20:13
lizmat $ git describe 20:14
2013.10
diakopter o_O
moritz that explains a lot
lizmat: git status?
lizmat $ git status 20:15
# Not currently on any branch.
nothing to commit (working directory clean)
moritz lizmat: if you do git fetch; git checkout 2013.10-75-g6ee9539 does it succeed?
lizmat yes: Previous HEAD position was c774afd... bump VERSION to 2013.10 20:16
HEAD is now at 6ee9539... Merge branch 'unified-build'
diakopter moritz: I suppose configure needs to ensure the proper branch too
moritz diakopter: it checks out a specific commit
jnthn Surprised that NQP_REVISION in Rakudo wasn't enough for that..
moritz did I forgot to push the bump of tools/buil/NQP_REVISION?
anyway, problem narrowed down: it failed to 'git checkout' nqp to the desired revision 20:18
... and I can reproduce that :/
or maybe :)
dalek kudo/nom: 73c9045 | moritz++ | tools/lib/NQP/Configure.pm:
[Configure.pl] fix checking out of correct NQP revision
20:23
moritz lizmat: please git pull in rakudo and try again
I am a bit worried that this patch will kill us when doing --gen-nqp without git
have to test that with star soonish
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
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
[Coke] ponders pull all the constants out into a flat file that I can point to from docs/op* 20:26
*pulling
[Coke] does the lazy for now.
pmichaud at one time the Configure.pm script always did "git checkout master" prior to attempting to check out a branch. 20:27
20:27 iSlug joined
pmichaud not sure if that disappeared at some point 20:27
moritz arnsholt: closed.
pmichaud: rakudo hasn't had a master branch for quite some time
oh, you probably meant nqp 20:28
pmichaud right.
moritz ah, probably so that 'git pull' can work
pmichaud I don't think we have a RAKUDO_REVISION anywhere yet :)
lizmat moritz: pulled and building now
moritz anyway, sleep time for me 20:29
all further tweaks can be done by the vast array of Perl 6 hackers, or have to wait until tomorrow :-)
lizmat moritz: seems ok now 20:30
gnight!
pmichaud (vast array of Perl 6 hackers)++
diakopter too bad it's a sparse array... 20:31
jnthn 'night, moritz++
diakopter ...implemented with a hash
pmichaud gravity is vast and sparse, but it's still a force to be reckoned with :)
diakopter throws you a graviton 20:32
it's like a tuit, only rounder
pmichaud I find it very attractive.
dalek p: 428f5a4 | coke++ | docs/ops.markdown:
clarify x op
p: 1f27f8c | coke++ | docs/ops.markdown:
basic documentation for nqp::const::*

  (copied from the JVM list).
lizmat talking about tuits: anyone here interested in camelia tuits ? 20:33
pmichaud +1
diakopter lizmat: I gave out all my MoarVM ones; I'd love some more MoarVM and Camelia ones also
jnthn lizmat: I have a collection of those on my desk :)
20:33 BenGoldberg joined
jnthn They're pretty :) 20:33
[Coke] only 210 failing tests in t/docs/op* - help me get it under 200! ;)
pmichaud $ rm t/docs/op* # no problem! 20:34
[Coke] O_o;
just for that, I'm going to pick an opcode for you to document. 20:35
20:37 spider-mario left 20:38 spider-mario joined
[Coke] any of nfafromstatelist, nfatostatelist, nfarunproto, or nfarunalt will do. :P 20:38
woolfy www.facebook.com/photo.php?fbid=566701136731074
(oops, was meant just for Liz)
lizmat well, those are the buttons, I was looking for a picture of the camelia tuits 20:39
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?
diakopter lizmat: I'm guessing they are due to compiler flags that got lost, ish
benabik can't quite figure out how --backends and the generic all/test/install targets fit together. 20:42
20:42 denis_boyun joined
jnthn detrain & 20:42
woolfy www.flickr.com/photos/wendyga/sets/...619932186/
diakopter jnthn: glad you're ridding yourself of your train infestation 20:43
benabik .o( Detrain your rail of thought? )
diakopter woolfy: those are really pretty
woolfy diakopter: I fully agree :-)
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"
diakopter missing initialization of someting 20:45
finding what's common from a few stack traces should help a lot
lizmat r: my @array = <a b c>; say ~(@array[2, *-1]:delete) # this now failes
camelia rakudo 2ce544: OUTPUT«use of uninitialized value of type Any in string context in block at /tmp/407H5StmAq:1␤␤c ␤»
diakopter r-j: my @array = <a b c>; say ~(@array[2, *-1]:delete) 20:46
camelia rakudo-jvm 882e33: OUTPUT«(timeout)»
20:47 jon2232 left
lizmat stack trace: gist.github.com/lizmat/7126483 20:49
20:50 kaare_ left
lizmat $ git describe 20:50
2013.10-75-g6ee9539
could that not be the problem: changes in nqp that I now got ?? 20:51
benabik While we're renaming everything to -[pjm], perhaps we should also move to rakduo-* rather than perl6-*? 20:54
lue benabik: I vote liking typing perl6 -e :) 20:55
benabik lue: Leave the convenience runner as perl6, then. :-D
lizmat spectest summary: gist.github.com/lizmat/7126590
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:56
benabik Dropping the postfixes on nqp is probably hazardous for building Rakudo. 20:57
20:58 spider-mario left
dalek rl6-roast-data: 0817195 | coke++ | perl6_pass_rates.csv:
today (automated commit)
20:59
rl6-roast-data: 3873b24 | coke++ | / (3 files):
today (automated commit)
rl6-roast-data: 50a59cd | coke++ | / (4 files):
today (automated commit)
BenGoldberg rn: my @a := 0, 1, 2, gather { take 1 + @a[*-1] }; say @a;
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) ␤ …»
..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…»
diakopter lizmat: that stack trace is enlightening to me in a number of ways
lue wonders if transforming PROGRAM-POSTFIX to PROGRAM -POSTFIX would be so terrible. 21:00
diakopter combination builds??
or a dispatcher script
lizmat diakopter: so what does the stack trace tell you? 21:01
BenGoldberg or a tiny dispatcher c program
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
benabik: I've gotten that on mac, but sporadically 21:03
it's not deterministic
[Coke] benabik: java doesn't like -jX if you don't have a ton of memory. that it?
lue diakopter: IIRC other compilers like GCC and LLVM seem to do fine with it :)
diakopter lue: do fine with what?
lue multiple backends in one program (I may be misremembering though) 21:04
benabik [Coke]: No -j, more than a GB free. :-/
lizmat diakopter: warn "use of uninitialized value of type {self.^name} in string context"; 21:05
diakopter whaaa
benabik Need a JFLAGS or something so I can get a -Xmx in there. 21:06
(Liking Mavericks' new memory stuff. I've been at 0b swap since upgrading.)
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
jnthn home 21:08
benabik tries `make JAVA="java -Xmx1g"` and at least gets past the first file.
lizmat the use of .^name is all over the place in Mu.pm 21:09
21:11 stevan_ left
lizmat changing them all to HOW.name, just to see if we get a better stack trace 21:11
improved stack trace: gist.github.com/lizmat/7126907 21:16
dalek kudo/nom: 33a6710 | (Elizabeth Mattijsen)++ | src/core/Mu.pm:
Don't use .^name to allow for better error reporting when things go awry
21:18
lizmat japhb: doing the HOW.name change only helps the error reporting, but does not fix the pb
lizmat still suspects some recent nqp change that surfaced because of the revision bump 21:19
21:19 Rotwang left
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)
lizmat going to sleep on it 21:20
gnight #perl6!
21:20 xenoterracide left
BenGoldberg has found a CONFUSING rakudobug 21:24
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];
camelia rakudo 2ce544: OUTPUT«1 1 2 2 3␤1 1 2 2 3 3 4 5 5 6␤»
..niecza v24-98-g473bd20: OUTPUT«5 5 5 5 5␤8 8 8 8 8 8 8 8 8 8␤»
BenGoldberg Err, make that a nieczabug 21:25
lizmat seems to me it is printing the .elems instead of the values ?
really away& 21:26
BenGoldberg :)
21:29 colomon left, colomon joined
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…»
..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) ␤ …»
benabik Well, at least I'm getting the same error going back to ConfigureMoar.pl. :-D 21:37
Oh. I'm getting that '65' is not a valid number thing again. That would explain it. 21:38
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? 21:39
21:40 ajr_ left 21:52 PacoAir left 21:53 iSlug left 22:06 stevan_ joined
dalek Heuristic branch merge: pushed 65 commits to nqp/ext by jnthn 22:15
diakopter wha
oh, from master
jnthn yeah
The updated build stuff etc.
diakopter I'm like "usually jnthn pushes more often"
jnthn Now to fix things :) 22:16
dalek p/ext: 98216ee | jnthn++ | src/vm/moar/stage0/ (9 files):
Fix MoarVM stage0; merge got us a bad one.
22:17
p/ext: 0c174a6 | jnthn++ | tools/build/Makefile-common.in:
One Windows fix for NQP on MoarVM build.
22:22 dmol1 left
[Coke] nqp-j: say(nqp::stat("/etc/motd",nqp::const::STAT_CREATETIME)); 22:23
camelia nqp-jvm: OUTPUT«-1␤»
diakopter nqp-m: say(nqp::stat("/etc/motd",nqp::const::STAT_CREATETIME));
camelia nqp-moarvm: OUTPUT«Failed to stat file: no such file or directory␤frame_name_0␤»
[Coke] nqp-j: say(nqp::stat("/etc/passwd",nqp::const::STAT_CREATETIME));
camelia nqp-jvm: OUTPUT«-1␤» 22:24
diakopter nqp-m: say(nqp::stat("/etc/passwd",nqp::const::STAT_CREATETIME));
camelia nqp-moarvm: OUTPUT«1381252708␤»
dalek p/ext: 98b8e0c | jnthn++ | tools/build/Makefile- (2 files):
Nananananananana BAT-var!
22:25
diakopter jnthn: lolol
22:35 BenGoldberg left
[Coke] wonders if his daily build scripts are going to need to be updated for rakudo* 22:38
stat(BACKUPTIME) seems less than useful. 22:43
dalek p: a27e079 | jnthn++ | src/vm/moar/stage0/ (9 files):
Get a stage0 with extop support.

Bump really needed due to bytecode format change.
22:44
22:44 dalek left 22:45 dalek joined, ChanServ sets mode: +v dalek 22:57 pecastro left 23:04 donaldh left, donaldh joined 23:12 btyler left 23:14 BenGoldberg joined 23:21 denis_boyun left 23:24 LWA left
jnthn 'night o/ 23:27
japhb o/ 23:28
[Coke], BACKUPTIME sounds like a VMS thing. What OS or FS is it actually seen on? 23:29
geekosaur or is that the generic-ized version of unix ctime? 23:35
(referring to its original purpose)
[Coke] japhb: nqp-j: say(nqp::stat("BARF",nqp::const::STAT_BACKUPTIME)); 23:36
nqp-j: say(nqp::stat("BARF",nqp::const::STAT_BACKUPTIME));
camelia nqp-jvm: OUTPUT«-1␤»
23:41 Guest2924 is now known as Khisanth 23:51 Mouq joined
Mouq . 23:54
Oh, where's yoleaux?
.ping
geekosaur nobody seems to know
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… 23:57