Parrot 2.3.0 Released | parrot.org/ | Channel log: irclog.perlgeek.de/parrot/today | Priority: apply deprecations, merge branches, finish exceptions_refactor branch | GSoC students, please read trac.parrot.org/parrot/wiki/GSoCersStartHere
Set by moderator on 12 May 2010.
dalek p-rx: 838ad67 | pmichaud++ | CREDITS:
Update CREDITS, courtesy bacek++.
00:02
bacek pmichaud, subst doesn't work in official nqp-setting. Know issue? 00:03
cotto_work It used to not compile. Sounds like it's getting better. 00:04
pmichaud bacek: no, not known. 00:05
bacek: I didn't have any tests for them :)
bacek pmichaud, fair enough :)
cotto_work Should we hold off on the merge until after the release?
bacek pmichaud, match/subst aren't in generated setting.pir file... Strange... 00:07
cotto_work sounds like yes
pmichaud might be commented out somehow 00:08
looking.
it's in the .pir file that I have 00:09
(in nqp-rx)
checking parrot
oh, those should probably be 'our sub', too. 00:10
come to think of it.
purl rumour has it come to think of it is how the zombie monkies come in the night and pluck the brains from unsuspecting children while they sleep
pmichaud otherwise they're lexically scoped.
bacek pmichaud, ah. Makes sense.
pmichaud oh. 00:11
the nqp-setting.pm that got checked in to stage0 is an older copy
that's.... odd.
sorear subs aren't lexically scoped be default in nqp
they get lexical aliases, yes, but they also live in the namespace 00:12
pmichaud oh.
that's supposed to be a deprecated misfeature, I think.
that was there for compatibility with earlier versions of nqp.
(from when sub declarations were 'our' by default) 00:13
brb 00:14
cotto_work If I can't get it merged before I go to bed, I'll just hold off until after the release.
bacek cotto_work, it's merged. Just need few tweaks in nqp-setting 00:16
cotto_work great! 00:17
pmichaud working on nqp-setting fix 00:23
sorear pmichaud: lexical-persistence-2 just passed spectests 00:24
dalek p-rx: 7d5a8db | pmichaud++ | src/stage0/ (4 files):
Update bootstrap with correct nqp-setting.pm .
00:29
bacek pmichaud, github.com/bacek/nqp-rx/commit/304b...a33047aa11 00:31
Test for subst.
pmichaud I've forgotten how to cherry pick from remote repos
bacek :global is slightly broken. 00:32
sorear pmichaud: git remote add bacek git://github.com/bacek/nqp-rx.git
git remote update
git cherry-pick bacek/master
bacek "git cherry-pick <sha1>" actually
pmichaud Fetching bacek
fatal: github.com/bacek/nqp-rx/info/refs not found: did you run git update-server-info on the server?
error: Could not fetch bacek 00:33
sorear git://
pmichaud oh, nm
right
that's what I was doing wrong
bacek: 05-subst passes on my system 00:35
should it?
bacek yes
pmichaud oh. no test with :global yet?
bacek uncomment test for :global
line 12
purl i heard line 12 was the open statesments
bacek purl, forget line 12
purl bacek: I forgot line 12
pmichaud the test is wrong
it should be :global
bacek I still got Null PMC access in find_method('ACCEPTS') 00:36
pmichaud right
just a sec
missing a '$' in match 00:37
now it works
bacek++
pushed as ad5739f 00:38
updating bootstraps 00:39
dalek p-rx: f529398 | bacek++ | t/setting/05-subst.t:
Add test for subst
00:40
p-rx: ad5739f | pmichaud++ | (2 files):
Fix bug in match() (which was manifesting itself in subst() :global).
pmichaud bacek: want/need commit privs to nqp-rx? 00:41
bacek pmichaud, yes. I did ask for it already :)
pmichaud oh, sorry
added.
bacek thanks!
00:42 plobsing joined
pmichaud we need to start getting nqp-rx onto a release cycle, I suspect. 00:42
was going to do that in decemberish but got sidetracked with rakudo and other issues
bacek Something like "1 week before parrot's release"? 00:43
pmichaud that was the plan, yes. :)
bacek Sounds good :)
.oO( Why vtables aren't exposed as methods?.. )
00:44
pmichaud they can be... it just doesn't happen by default
dalek p-rx: 7516db0 | pmichaud++ | src/stage0/ (4 files):
Update bootstrap.
00:46
sorear it appears that Rakudo is the *only* NQP-based language which uses lexicals 00:48
cotto_work pmichaud, I'd appreciate your input on trac.parrot.org/parrot/wiki/LoritoRoadmap when you have some time.
00:48 rurban_ joined
pmichaud sorear: ? 00:50
nqp updated in r46619, subst() and match() should be working now. 00:51
NQP uses lexicals. :-)
cotto_work nqp is definitely based on nqp
pmichaud and at one time pynie was using lexicals... although it may have since switched to a different toolchain 00:52
and I think lolcode does also
00:53 eternaleye joined
Tene lolcode uses lexicals. 00:55
my scheme compiler uses lexicals. 00:56
pmichaud i even think partcl uses lexicals, although I might be wrong about that.
Tene cardinal uses lexicals
although not upgraded to nqp-rx
dalek rrot: r46619 | pmichaud++ | trunk/ext/nqp-rx/src/stage0 (4 files):
Update nqp-rx with match/subst fixes.
00:57
ttbot Parrot trunk/ r46619 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/311643.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ )
sorear pynie is also not on nqp-rx 01:02
purl okay, sorear.
sorear scheme is also not on nqp-rx
purl okay, sorear.
sorear lua is also not on nqp-rx
purl okay, sorear.
Tene steme is on nqp-rx 01:03
sorear steme is not linked from the master list of Languages on the parrot wiki
steme?
purl steme is Tene's example scheme compiler for Parrot at github.com/tene/steme/
dalek p-rx: 05c8f66 | bacek++ | src/setting/Regex.pm:
Use StringBuilder in subst instead of manually collect pieces.
01:09
plobsing Is there a good way to run parrot's tests with parrot executing a user-specified PIR snippet before every test file? 01:18
dalek p-rx: 71140f0 | pmichaud++ | src/setting/Regex.pm:
Eliminate extra $repl_string variable bind+lookup from subst().
01:20
ttbot Parrot trunk/ r46620 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/311685.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) 01:25
dalek rrot: r46620 | plobsing++ | trunk (8 files):
add --without-extra-nci-thunks option to Configure to allow building without unnecessary static thunks
01:31
bacek msg cotto I want to postpone merge after release... 01:44
purl Message for cotto stored.
dalek rrot: r46621 | bacek++ | branches/ops_pct (60 files):
Merge branch 'master' into ops_pct_local

  \tMANIFEST
  \tMANIFEST.generated
  \tconfig/gen/makefiles/root.in
01:48
purl i guess MANIFEST is useful for lots of stuff and don't forget to regenerate the manifest with perl tools/dev/mk_manifest_and_skip.pl, unless i am using git-svn
purl MANIFEST.generated is wrong.
purl i guess config/gen/makefiles/root.in is what generates parrot/Makefile
rrot: r46622 | bacek++ | branches/ops_pct (3 files):
Regenerate ops using old ops2c.pl to get find_codepoint
rrot: r46623 | bacek++ | branches/ops_pct (4 files):
Use nqp-setting instead of nqp-settings in opsc
rrot: r46624 | bacek++ | branches/ops_pct/ext/nqp-rx (2 files):
Copy nqp-rx from trunk.
rrot: r46625 | bacek++ | branches/ops_pct/ext/nqp-rx/src/stage0 (4 files):
Merge branch 'master' into ops_pct_local
rrot: r46626 | bacek++ | branches/ops_pct/MANIFEST:
Remove old nqp-settings.
rrot: r46627 | bacek++ | branches/ops_pct/compilers/opsc/src/Ops (2 files):
Update opsc to modern nqp-setting
rrot: r46628 | bacek++ | branches/ops_pct/t/compilers/opsc (3 files):
Remove redundant loading of nqp-setting in opsc tests
rrot: r46629 | bacek++ | branches/ops_pct/ext/nqp-rx/Rules.mak:
Remove circluar deps of nqp-setting.pbc
ttbot Parrot trunk/ r46630 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/311739.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) 01:56
dalek rrot: r46630 | jkeenan++ | trunk/runtime/parrot/library/HTTP/Message.pir:
[codingstd] Correct POD formatting errors.
02:04
rrot: r46631 | bacek++ | branches/ops_pct/compilers/opsc/src/Ops/Trans/C.pm:
Explicitely flatten map args (required for nqp-setting).
rrot: r46632 | bacek++ | trunk/ext/nqp-rx/Rules.mak:
Fix circular dependencies of nqp-setting.pbc
ttbot Parrot trunk/ r46632 i386-linux-thread-multi make error tt.taptinder.org/file/cmdout/311762.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) 02:07
02:17 patspam joined
dalek rrot: r46633 | bacek++ | branches/ops_pct (9 files):
Merge branch 'master' into ops_pct_local
02:21
rrot: r46634 | bacek++ | trunk (3 files):
Fix build nqp-setting. bacek--
rrot: r46635 | jkeenan++ | trunk (2 files):
Set SVN properties on two recently added files.
rrot: r46636 | jkeenan++ | trunk/config/auto/extra_nci_thunks.pm:
Correct typo in POD.
kudo: ddaab3d | (Solomon Foster)++ | src/core/Cool-num.pm:
Handle Any.log better: use prefix:<+> to convert both $x and $base.
02:24
02:26 kid51 joined
bacek kid51, aloha 02:31
msg cotto We forgot about generating oplib/ops.h file... 02:33
purl Message for cotto stored.
dalek rrot: r46637 | bacek++ | branches/ops_pct (5 files):
Merge branch 'master' into ops_pct_local
02:37
kid51 bacek aloha back! 02:39
02:41 janus joined
kid51 Amazing: plobsing added a configuration step today, added the corresponding test file, and got 100% test coverage right off the bat! 02:43
02:43 gbacon_ joined
kid51 First time *that* has ever happened! 02:43
thenceforward.net/parrot/coverage/c...ks-pm.html 02:44
plobsing kid51: I cargo culted most of it from the stuff you added on the libjit_framebuilder branch 02:50
dalek p-rx: bb798d2 | sorear++ | CREDITS:
Add self to CREDITS
02:52
sorear hmm. nqp-rx does not seem to have anonymous classes. 02:53
kid51 I've been looking at it some more just now. 02:55
The more I look at it, the more I think it could have been added to something like config/init/defaults.pm.
The 'auto' group of config steps are supposed to conduct 'auto'matic probes of your system and make config settings based on the results of those probes. 02:56
There's no probe here. It's just a command-line option.
So I think it can go under 'init'
plobsing I thought 'init' was magic somehow 02:57
kid51 Also, why do you have both UPPER and lower case versions of the config setting?
Couldn't we get by with just one of them?
plobsing nope. one's for makefiles, the other for #defines
kid51 plobsing: No, believe me, there's *no* magic there.
It's more mess than magic ;-)
Well, there's no rush to change that. We can look at it after the release. 02:59
Oh, one other question: In src/nci/extra_thunks.c, I see this: 03:01
!!!!!!! DO NOT EDIT THIS FILE !!!!!!!
*
* This file is generated automatically by tools/dev/nci_thunk_gen.pir
If this is a generated file, why are we storing it under version control? 03:02
plobsing bootstrapping 03:03
purl bootstrapping is a telltale trait :)
plobsing remove it and try building parrot
kid51 Okay, then you might want to add something about that to the documentation at the top of that file. 03:04
plobsing It gets autogenerated by the same tool that is supposed to generate similar files that aren't statically compiled into parrot. For those files (which I'd like to see become the majority), the message would make no sense. 03:05
kid51 Is this discussed in a TT or on list somewhere? My understanding of this type of thing is poor. 03:07
plobsing should there be a TT? a wiki page? I'm an expert, so I'm blind to this sort of problem. What all should be explained? 03:08
the bootstrapping? the tool?
IIUC, opsc will need to bootstrap somehow. How does that manage this problem? 03:12
kid51 The bootstrapping.
purl it has been said that the bootstrapping is a telltale trait :)
plobsing purl forget bootstrapping
purl plobsing: I forgot bootstrapping
kid51 'bootstrapping' is a term which appears very rarely in our documentation. 03:13
So some explanation of what the term means in this context, why we're doing it, what's getting bootstrapped, etc., would be helpful. 03:14
kid51 must sleep 03:15
purl $kid51->sleep(8 * 3600);
dalek TT #1639 created by bacek++: StringHandle should be updated to use StringBuilder internally. 03:18
TT #1639: trac.parrot.org/parrot/ticket/1639
03:32 bakkdoor joined 03:58 JimmyZ joined
dalek rrot: r46638 | bacek++ | branches/ops_pct/compilers/opsc/Rules.mak:
Add nqp-setting into opsc dependencies.
04:01
rrot: r46639 | bacek++ | branches/ops_pct/src/ops/ops.num:
Remove get_label/set_label from ops.num (again...)
rrot: r46640 | bacek++ | branches/ops_pct (2 files):
Reboostrap ops
rrot: r46641 | bacek++ | trunk/src/ops/ops.num:
Remove get_label/set_label from ops.num. They are experimantal
04:07 Andy joined 04:10 snarkyboojum joined 04:18 abqar joined
dalek rrot: r46642 | mikehh++ | trunk/MANIFEST:
re-generate MANIFEST
04:19
04:43 snarkyboojum joined
dalek rrot: r46643 | mikehh++ | trunk/ext/nqp-rx/src/stage0:
set svn:ignore
04:52
rrot: r46644 | mikehh++ | trunk/MANIFEST.SKIP:
re-generate MANIFEST.SKIP
plobsing ping Coke 05:08
05:09 snarkyboojum joined 05:24 snarkyboojum joined
dalek rrot: r46645 | mikehh++ | trunk (2 files):
revert - didn't do what I wanted
05:26
TT #1632 closed by plobsing++: segfault in Parrot_ImageIO_shift_string 05:33
TT #1632: trac.parrot.org/parrot/ticket/1632
rrot: r46646 | plobsing++ | trunk/src/packout.c:
dissallow forward references to string constants in PBC
05:42
05:58 snarkyboojum joined
cotto bacek, indeed we did 06:24
Would there be anything wrong with putting the enum from oplib/ops.h into oplib/core_ops.h? 06:44
that looks like the easiest approach
I guess it could conceivably annoy anyone who wants to develop an alternative runcore, but I'm not sure if that's something we'll care about. 06:45
bacek cotto, too many files to change... 06:49
but we can "easily" emit if from "ops2c --core"
cotto wfm 06:57
06:58 jan joined 07:10 iblechbot joined
dalek kudo: 82f7ef3 | (Solomon Foster)++ | src/core/Pair.pm:
Add Pair.keys and Pair.values.
07:21
07:29 JimmyZ joined
bacek rubini.us/about/one_point_oh alternative Ruby implementation 07:34
07:56 agricola joined
agricola Hello. 07:58
plobsing hi 07:59
dalek rrot: r46647 | bacek++ | branches/ops_pct/compilers/opsc/ops2c.nqp:
Generate oplib/ops.h from ops2c.
08:12
rrot: r46648 | bacek++ | branches/ops_pct/config/gen/makefiles/root.in:
Remove old build of ops.h
08:12 fperrad joined 08:23 fperrad_ joined
cotto d'oh. I just finished doing that. 08:23
bacek cotto, too late :)
cotto well, bacek++ then 08:24
bacek cotto, there is a bug in my code - last comma in enum isn't C89 compatible... 08:26
cotto Bah. Nobody cares about C89.
bacek except codetest and VC6... 08:27
dalek rrot: r46649 | bacek++ | branches/ops_pct/compilers/opsc/ops2c.nqp:
"Fix" ops.h filename.
08:29
rrot: r46650 | bacek++ | branches/ops_pct/include/parrot/oplib/ops.h:
Add ops.h generated by ops2pm for bootstrapping purpose
rrot: r46651 | bacek++ | branches/ops_pct/include/parrot/oplib/ops.h:
Reboostrap ops.h using opsc.
08:34 snarkyboojum_ joined 08:48 rurban_ joined
cotto bacek, I hope you didn't fix that one too. ;) 08:57
bacek cotto, nope
I'm in my laziness mode now 08:58
cotto Why does Configure.pl translate $(MAKE) to "make -C"? 09:03
That's not even valid for my make.
bacek No idea..
purl hmmm... no idea is jays.net/images/noidea.jpg
cotto done 09:06
any reason not to rip out all the Perl ops code? 09:07
in branch
bacek opsrenumber?
cotto That's pretty trivial iirc. 09:08
bacek probably 09:10
purl probably is slow if the compiler isn't smart enough to optimize out of the loop the _length call.
bacek I never looked at it
cotto It's self-contained. I can clobber the ops2c and ops2pm stuff without touching it. 09:11
or can I?
let's see
bacek There is only one way to find out!
nopaste "moritz" at 192.168.1.3 pasted "Segfault in t/spec/S06-signature/named-parameters.rakudo, with backtrace" (29 lines) at nopaste.snit.ch/20554 09:15
moritz added as trac.parrot.org/parrot/ticket/1613#comment:1 09:19
bacek moritz, is it reproduceable? 09:20
dalek rrot: r46652 | cotto++ | branches/ops_pct (2 files):
[opsc] avoid trailing comma in op enum
09:21
TT #1612 closed by moritz++: parrot change between r46273 and r46316 cause Rakudo regression 09:32
TT #1612: trac.parrot.org/parrot/ticket/1612
rrot: r46653 | fperrad++ | trunk (7 files):
rename tapir to parrot-prove,
09:37
bacek cotto, something wrong with opsc. Check ops.h PARROT_OP_find_sub_not_null_p_sc 09:54
cotto yeah
I'm looking at it 09:55
it's omitting the last numbered op instead of the last op
bacek Looks like we don't read last line in ops.num 09:56
cotto I don't think that's the issue
bacek find_sub_not_null_p_sc 1232 09:57
cotto It's parsed fine 09:58
It is an off-by-one somewhere 09:59
bacek yeah...
But core_ops.c has correct code for this op 10:00
I don't quite understand how it can be...
cotto bad keyboard driver 10:01
my brain are stop working 10:02
I'll have to wait until tomorrow to hunt for it 10:03
bacek ok 10:05
good night
cotto night 10:07
dalek rrot: r46654 | bacek++ | branches/ops_pct/compilers/opsc/src/Ops/Compiler.pm:
Fix off-by-one error in numbering ops. cotto++ for hint
10:43
rrot: r46655 | bacek++ | branches/ops_pct/compilers/opsc/ops2c.nqp:
Fix generating ops.h file
rrot: r46656 | bacek++ | branches/ops_pct/include/parrot/oplib/ops.h:
Regenerate ops.h
bacek msg pmichaud Any objects on committing support of parsing types in NQP - gist.github.com/402132 ? 10:49
purl Message for pmichaud stored.
pmichaud bacek: in general, I try to keep the nqp grammar pretty close to the perl 6 one 11:02
bacek pmichaud, my perl-grammar-fu is too weak to read full perl6 grammar... 11:03
ah. scope { ... | <typename> <DECL=multi_declarator> ... } 11:05
"scoped"
nope... It's for subs. 11:07
Looks like current rakudo grammar doesn't support typed variables. 11:08
Or I totally misunderstand it. 11:09
pmichaud oh, I know that current rakudo grammar *does* support typed variables. :) 11:10
bacek :) 11:11
Yeah.
pmichaud you're just looking for the type information in the wrong place
bacek scoped { <typename> <DECL=multi> }?
pmichaud yeah, that looks right-ish 11:12
but it's more important to be close to STD.pm6 than it is to be close to rakudo
bacek Are you trying to kill me? :)
pmichaud just trying to make sure nqp doesn't stray too far from perl 6 :) 11:13
bacek Reading rakudo's grammar is already challenge!
Is STD.pm6 still in pugs repo?
pmichaud yes 11:14
svn.pugscode.org/pugs/src/perl6/STD.pm6
anyway, we need to stick close to STD.pm6 if we eventually want to support multis :-) 11:16
bacek I do want to support multis
pmichaud right
bacek Actually I want rewrite PCT in NQP :) 11:17
pmichaud so do I, eventually :)
bacek And multis are almost "must have" :)
pmichaud I've also been wondering if the end result will be my $x is int; instead of my int $x;
bacek In Perl6? 11:18
pmichaud in NQP
bacek Hmm... Why?
pmichaud the first one indicates the type of the container, the second one is a type constraint
bacek ("scoped" in rakudo are pretty much same as in STD)
pmichaud since what we have in NQP acts more like a coercion/container than a type constraint, that seems to work a bit better 11:19
in particular, in Perl 6: my int $x = "4"; throws an exception 11:20
while my $x is int = "4"; would coerce the string into an int
moritz nope
pmichaud whic is really what Parrot does when placing a string into an int register
moritz my $x as int
bacek I do want "type constraint" in nqp. Just because I want to use it in ops.
And generate C code
moritz 'is' doesn't coerce, afaict
pmichaud moritz: no, but the container could.
it's not the 'is' that does coercion, it's the container 11:21
(in this case)
moritz I'm pretty sure 'my $x is int = "4"' would also die in full Perl 6
but then it has a different 'int' container
pmichaud right
I'm just saying that if NQP uses "my int $x" to indicate that $x should be a Parrot int register, we're in for a world of hurt 11:22
anyway, we already know that nqp types will behave differently from Perl 6 types, which is why I'd like to put coercion into the container type and not into type constraints 11:26
so if an NQP 'int' behaves differently from a Perl 6 'int', that's okay-ish. 11:27
but having "my int $x" act like a coercion rather than a constraint strays a bit far from the real semantic. worse, it's too easy to confuse the two notions.
otoh, if "my int $x as int" is valid Perl 6, indicating both type and coercion, perhaps we do that. (I still haven't seen this officially spec'd, though.) 11:29
bacek pmichaud, gist.github.com/402156 what about this one? It's stripped down version of STD.pm6 (or Rakudo (which is same)) 11:41
11:47 clinton joined 11:53 khairul joined 11:54 khairul joined
bacek S05? 11:54
purl, S05?
purl see dev.perl.org/perl6/doc/design/syn/S05.html or dev.perl.org/perl6/doc/design/syn/S05.html or perlcabal.org/syn/S05.html
11:55 Whiteknight joined
moritz all but the last one are out of date 11:59
no, S05 is perlcabal.org/syn/S05.html
purl okay, moritz.
12:00 kid51 joined 12:01 JimmyZ joined
Whiteknight good morning, #parrot 12:02
bacek moritz, I can't reproduce your failures... Even on amd64.
Whiteknight, good morning, mr. Release Manager.
kid51 good morning, whiteknight
moritz bacek: it doesn't segfault every time I run it 12:03
Whiteknight so, ops_pct isn't merging in before the release?
bacek moritz, I tried 5 times in row... On both optimized and non-optimized builds.
moritz too bad
and you have ICU?
bacek Whiteknight, I can merge it right now. But I would like not to.
moritz, yes, I have. 12:04
moritz wonders what else might be cause
libgmp?
bacek moritz, let me check.
moritz I can also try to configure without gmp, and see if it still segfaults 12:05
but need to finish another spectest run first
bacek Installing libgmp3-dev now 12:06
dalek kudo: 16e9537 | moritz++ | src/core/Any-list.pm:
accept junctions as matcher argument to first()
12:08
pmichaud bacek: (parsing typenames) looks much better to me. I'd want to comment out the multi_declarator:sym<multi> part, though. Since we don't support multis at all yet, I think I'd prefer not to be parsing them. 12:15
kid51 Can anyone advise where the work that has been done so far in the ops_pct branch puts us on the Lorito roadmap? trac.parrot.org/parrot/wiki/LoritoRoadmap
pmichaud kid51: I think just the "opsc" portion. 12:16
bacek pmichaud, next step will be extend PCT to generate :multi :)
pmichaud (it's a very significant portion, but that's about as far as I think it gets)
kid51 That roadmap page would benefit from a simple definition of Lorito.
pmichaud PCT can already generate :multi, bacek.
Rakudo uses it. :-) 12:17
bacek pmichaud, wow... How?
pmichaud pirflags on the PAST::Block node
bacek pmichaud, it's... cheat!
pmichaud I'm fine with cheating on that for now.
bacek But we can generate proper :multi signature almost for free. 12:18
pmichaud since Parrot's handling of mmd is still slated for some redesign, I'm not wanting to commit to a particular PCT design yet.
bacek (There is too many design flaws in parrot...) 12:19
moritz bacek: presence of GMP doesn't make a difference for named-parameters.rakudo
12:19 iblechbot joined
bacek moritz, yes... I still can't reproduce segfault... 12:19
moritz :( 12:21
dalek rrot: r46657 | fperrad++ | branches/ops_pct/t/harness.pir:
fix, retrieve the SVN branch name
pmichaud bacek: want me to go ahead and add the type parsing to nqp-rx? it'll be basically what you posted, with a fair bit of changes 12:24
I can do that now -- I have a short period of time.
kid51 Is there anyway to change the name of a wiki page (i.e., its URL) without losing its history? 12:26
bacek pmichaud, yes :)
(and I missed parsing of types in <signature>) 12:27
pmichaud kid51: I don't see an obvious way to do it, no. 12:28
kid51 pmichaud: Found workaround 12:29
I was trying to link to a page with a name that was not in CamelCase. 12:30
Link would not take if I simply typed: Lorito
... cause that's not CamelCase
workaround: [wiki:Lorito]
dalek tracwiki: v4 | jkeenan++ | Lorito 12:33
tracwiki: trac.parrot.org/parrot/wiki/Lorito?...ction=diff
tracwiki: v3 | jkeenan++ | LoritoRoadmap
tracwiki: trac.parrot.org/parrot/wiki/LoritoR...ction=diff
tracwiki: v4 | jkeenan++ | LoritoRoadmap
tracwiki: trac.parrot.org/parrot/wiki/LoritoR...ction=diff
12:34 TiMBuS joined
bacek moritz, bad luck... 12:35
I run this "i=0; while ./perl6 t/spec/S06-signature/named-parameters.rakudo; do echo "survive $i"; i=$(( ++i )); done"
It's passed 21 runs...
30... 12:38
moritz, I give up... It passed another 20 runs on optimized build... 12:42
fperrad, are you sure that your last commit belongs to ops_pct branch? 12:45
JimmyZ not ok 77 - sub params with the same name via renaming# TODO sub params with the same name 12:47
not ok 78 - sub params with same name via renaming and different types# TODO sub params with the same name
not ok 79 - sub params with the same name and different types# TODO sub params with the same name
bacek: this one?
bacek JimmyZ, it's todoed tests. I tried to catch segfault 12:48
JimmyZ, TT#1613 12:49
JimmyZ oh
13:05 joeri joined
dalek p-rx: 08a765d | pmichaud++ | src/NQP/ (2 files):
Add typename parsing to variable declarations.
13:10
p-rx: cf979eb | pmichaud++ | src/NQP/Grammar.pm:
Enable typename parsing for parameters. Again, this simply

for now.
rrot: r46658 | bacek++ | branches/ops_pct/t/tools/ops2pm (17 files):
Remove tests for old ops2pm.
rrot: r46659 | bacek++ | branches/ops_pct/t/tools/ops2cutils (11 files):
Remove tests for ops2cutils
rrot: r46660 | bacek++ | branches/ops_pct (2 files):
Fix make dependencies. fperrad++
rrot: r46661 | bacek++ | branches/ops_pct/MANIFEST:
"Regenerate MANIFEST"
rrot: r46662 | bacek++ | branches/ops_pct/config/gen/makefiles/root.in:
Fix more dependencies of outdated core.pm
rrot: r46663 | bacek++ | branches/ops_pct/t/op/01-parse_ops.t:
Remove old test for ops parsing. fperrad++
rrot: r46664 | bacek++ | branches/ops_pct/MANIFEST:
"Regenerate MANIFIST"
13:27
kid51 In ops_pct branch, after 'make realclean', I am getting this: 13:37
$ svn st
? ext/nqp-rx/src/stage0/nqp-setting.pir
Should that file be removed by 'make clean'?
pmichaud yes.
I'm not sure how to do that, though. 13:38
kid51 It is generated by something?
pmichaud yes.
it's generated as part of parrot's nqp-rx build process (ext/nqp-rx/Rules.mak) 13:39
kid51 So it should probably be entered into MANIFEST.generated as well -- correct?
pmichaud I'd think no. 13:40
it's an intermediate file, used to generate nqp-setting.pbc
it doesn't get installed
kid51 Probably needs to be in list of files governed by target 'ext-clean' 13:41
dalek rrot: r46665 | jkeenan++ | branches/ops_pct (3 files):
Remove some directories whose files have been deleted. Remove references to

that file to other, long since deleted directories.
13:45
kid51 I see this: 13:46
$ fns config/gen/makefiles/ | xargs grep -n NQPRX
config/gen/makefiles/root.in:1605: $(RM_RF) $(NQPRX_LIB_PBCS) $(NQPRX_LIB_SETTING) parrot-nqp*
But I can't find any place where NQPRX_LIB_PBCS or NQPRX_LIB_SETTING is defined. 13:47
pmichaud ext/nqp-rx/Defines.mak
13:48 GodFather joined
kid51 Everything in Defines.mak is a .pbc. This file is a .pir 13:50
pmichaud right
this is an intermediate file, used to create one of the .pbcs 13:51
sorry if I'm not being more help -- I'm totally unfamiliar with the new makefile build system
kid51 fns ext/nqp-rx | grep '.pir$'
ext/nqp-rx/src/stage0/P6Regex-s0.pir
ext/nqp-rx/src/stage0/Regex-s0.pir
ext/nqp-rx/src/stage0/NQP-s0.pir
ext/nqp-rx/src/stage0/HLL-s0.pir
ext/nqp-rx/src/stage0/nqp-setting.pir
Are the other files in ext/nqp-rx/src/stage0/ intermediate files as well?
pmichaud no
kid51 k
pmichaud eventually I expect nqp-setting.pir to go away... just don't have that capability yet. 13:52
(we don't have the capability to go directly from HLL to .pbc yet ... we have to go to .pir and then compile that to .pbc)
nqp-setting.pir is generated from nqp-setting.pm, and is used to create nqp-setting.pbc 13:53
dalek rrot: r46666 | jkeenan++ | trunk/config/gen/makefiles/root.in:
Remove references to long-since-deleted directories.
14:02
kudo: 8ef25bd | moritz++ | t/spectest.data:
run another test file (for "eager")
14:09
moritz rakudo: say [+] 14:10
EWRONGCHANNEL
sorry
14:10 bakkdoor joined 14:18 Mokurai1 joined
dalek rrot: r46667 | fperrad++ | branches/ops_pct/runtime/parrot/library/distutils.pir:
[distutils] use ops2c fakexecutable instead of ops2c.pl
14:18
rrot: r46668 | jkeenan++ | branches/ops_pct (2 files):
Create an NQPRX_CLEANUPS target to make sure that intermediate files are
14:25 Casan joined
kid51 pmichaud: I think 46668 (or 46669 in trunk) takes care of that cleanup problem 14:26
pmichaud okay. There's not a gen/settings.pir, that only existed in the branch iiuc 14:28
there should only be src/stage0/nqp-settings.pir
(there's not even a gen/ subdir in nqp-rx in trunk)
dalek rrot: r46669 | jkeenan++ | trunk (2 files):
Create an NQPRX_CLEANUPS target to make sure that intermediate files are
14:35
rrot: r46670 | fperrad++ | branches/ops_pct/runtime/parrot/library/distutils.pir:
[distutils] clean up, only 1 core for dynops
kid51 pmichaud: gen/settings.pir was in makefiles/root.in in branch 14:39
... in an admittedly kludgey-looking line
pmichaud kid51: yes, that was there for testing purposes I think, until we decided how it was going to officiallylive
trunk has the officially correct nqp-rx build sequence
kid51 So the one in /stage0/ is the correct one? 14:40
pmichaud yes.
fperrad bacek, yes, this fix r46657 is only useful in a branch and it will merged in trunk with the whole branch ops_pct 14:47
dalek rrot: r46671 | jkeenan++ | branches/ops_pct/ext/nqp-rx/Defines.mak:
Remove file from NQPRX_CLEANUPS which no longer is created during build.
14:51
rrot: r46672 | jkeenan++ | trunk/ext/nqp-rx/Defines.mak:
Remove file from NQPRX_CLEANUPS which no longer is created during build.
purl i already had it that way, dalek.
15:03 khairul_ joined
dalek rrot: r46673 | fperrad++ | trunk (2 files):
[URI] add scheme 'https'
15:07
p-rx: cf5f0c7 | pmichaud++ | src/setting/ (4 files):
Make sure setting subroutines are properly package ('our') scoped
15:08
p-rx: c5a3363 | pmichaud++ | build/Makefile.in:
Fix test target to rebuild nqp-settings.pbc prior to running tests.
15:09
p-rx: 1232366 | pmichaud++ | src/Regex/P6Regex (2 files):
Turn INIT() sub in P6Regex::Actions into a standard INIT {...} block.
p-rx: f4c4650 | pmichaud++ | src/NQP/Actions.pm:
Adjust so that load_bytecode on a precompiled module automatically

lexically-scoped subroutines to be initialized properly inside of modules and classes.
purl modules and classes are both declared with "package", but they are really totally different
15:22 tcurtis joined
dalek a: 68436eb | fperrad++ | setup.pir:
use directly TAP/Harness library
15:35
lscript: e7e855f | fperrad++ | dynext/pmc/wmls (6 files):
use auto_attrs (mandatory now)
15:43
lscript: 4d736e5 | fperrad++ | setup.pir:
use directly TAP/Harness library
15:52 lucian joined
dalek rrot: r46674 | fperrad++ | trunk/tools/dev/mk_language_shell.pl:
[language] now PMC needs an attribute mode
15:57
rrot: r46675 | mikehh++ | trunk/config/auto/extra_nci_thunks.pm:
fix perlcritic failure - hard tabs
mikehh ext/nqp-rx/src/stage0/nqp-setting.pm is failing 5 codetest tests - how do I make sure it is not tested at all - it should not be tested 16:03
I tried setting svn:ignore and that was a problem 0 it did not work, any ideas? 16:04
16:04 joeri joined
mikehh s/0/-/ 16:05
16:08 shockwave joined
shockwave purl paste 16:08
purl rumour has it paste is (see: nopaste) or like glue but a little safer to sniff. or nopaste.snit.ch:8001/ or scsys.co.uk:8001/ anywhere shadowpaste is or mmm, sticky paste or You there! Eating the paste. or <see> 2 girls, 1 paste or App::Nopaste or toxic for bots and humans
nopaste "shockwave" at 192.168.1.3 pasted "Macro question." (10 lines) at nopaste.snit.ch/20555 16:10
shockwave Howdy.
I gotta find a better place to paste, as the above doesn't include line numbers.
Anyhow.
My question is about the line: _result = _test."'" . .op . "'"()
I'm trying to call a specific function when I call the macro, like so: 16:11
.testOperatorFloat('+', 3.14)
Of course, it gives me an error.
How can I accomplish passing the name of the method to call on the _test variable?
dalek rrot: r46676 | mikehh++ | trunk/t/steps/auto/extra_nci_thunks-01.t:
fix perlcritic failure - hard tabs
16:13
16:18 theory joined
shockwave Solved it. It was easier than I thought. I just had to change the line to this: \t_result = _test. .op () 16:20
Since the argument is already quoted, it will be replaced properly.
dalek kudo: 92508d6 | moritz++ | (4 files):
NYI error messages for feed operators
16:26
16:42 mikehh joined 16:48 rurban_ joined 16:55 ruoso joined
nopaste "shockwave" at 192.168.1.3 pasted "Possible bug in Parrot." (11 lines) at nopaste.snit.ch/20556 17:07
shockwave Unless there can be no method named '@' (Why wouldn't it be possible), that is a bug in Parrot.
Oops, forgot the compiler output: 17:08
Method '@' not found for invocant of class 'Test'
current instr.: 'parrot;Test;main' pc 17 (tmp.pir:14)
Change '@' for something else, like '*', and it will work.
purl shockwave: that doesn't look right
shockwave I'll stand by while someone chimes in. 17:11
Thanks
oh, it seems that it's anything that starts with an @. 17:12
Regular subs, not methods, *can* be named '@'. 17:17
nopaste "cotto" at 192.168.1.3 pasted "what's wrong with this attempt to use sprintf from nqp?" (8 lines) at nopaste.snit.ch/20557 17:58
18:01 Andy joined
shockwave If someone has an idea, I'd like to hear it, please. My language has the ability to overload operator @, and thus creates a method named '@'. So, this is important. 18:03
18:03 theory joined
cotto found the problem with sprintf 18:06
dalek rrot: r46677 | cotto++ | branches/ops_pct/compilers/opsc/src/Ops/OpLib.pm:
[opsc] minor cleanup
18:25
rrot: r46678 | cotto++ | branches/ops_pct/compilers/opsc (2 files):
[opsc] don't spit out excessively precise timing info, be a little more informative
rrot: r46679 | cotto++ | branches/ops_pct (13 files):
[ops2c] nuke a bunch of obsolete perl ops2c and ops2pm code
cotto d'oh. too eager 18:26
18:41 tetragon joined
dalek rrot: r46680 | cotto++ | branches/ops_pct (5 files):
undo previous commit until opsrenumber is replaced
18:42
18:42 lucian_ joined 18:52 LoganLK joined
cotto seen allison 18:54
purl allison was last seen on #parrot 3 days, 25 minutes and 59 seconds ago, saying: hah :) [May 12 18:28:47 2010]
pmichaud we could put a sprintf() function into nqp-setting 18:59
(that works more like the C sprintf) 19:00
cotto: I'm guessing the problem with pir::sprintf was the signature?
oh, maybe not. hrm. 19:01
19:01 plobsing joined
pmichaud also note that an easy way to create a temporary one-element array would be to do 19:03
pir::sprintf__ppp("%.3f", [ $end_time - $start_time ]);
19:05 pjcj joined 19:06 iblechbot joined
nopaste "cotto" at 192.168.1.3 pasted "working version" (8 lines) at nopaste.snit.ch/20558 19:09
cotto I thought there was a syntax for that.
19:17 Mokurai joined 19:22 Themeruta joined 19:23 lucian joined 19:31 lucian joined
dalek rrot: r46681 | cotto++ | branches/ops_pct (6 files):
[opsc] move ops.h generation into Ops::Emitter, regenerate ops
19:32
tcurtis Is there any way to check that a PMC has a non-default invoke vtable? 19:44
dalek TT #1640 created by shockwave++: Method names that start with '@' are not recognized. 19:49
TT #1640: trac.parrot.org/parrot/ticket/1640
20:06 mariano joined
dalek rrot: r46682 | fperrad++ | trunk/runtime/parrot/library/LWP.pir:
|LWP] fix _new_response()
20:23
rrot: r46683 | fperrad++ | trunk (2 files):
[LWP] minor refactor
20:40
cotto tcurtis, there was talk of adding a 'callable' role that sounds like it'd indicate what you're looking for. 21:06
It's nice to see that everyone's out enjoying their Saturday. 21:07
21:07 elmex joined
dalek rrot: r46684 | NotFound++ | trunk/compilers/imcc/pbc.c:
[imcc] fix search for namespace separator in add_const_pmc_sub, TT #1640
21:29
NotFound_gf shockwave: ping 21:32
ttbot Parrot trunk/ r46684 MSWin32-x86-multi-thread make error tt.taptinder.org/file/cmdout/313280.txt ( tt.taptinder.org//buildstatus/pr-Pa.../rp-trunk/ ) 21:33
shockwave NotFound_gf, sup. 21:35
cotto, What's this 'out' thing. Are you talking about some type of param? 21:36
NotFound_gf shockwave: I think I've fixed part of the problem in TT #1640
ttbot disagree... One moment... 21:37
shockwave kk
21:37 pjcj joined
NotFound_gf ttbot++ 21:39
shockwave NotFound_gf, question: Why? static const char ns_sep[] = "@@@"; and not const char* ns_sep = "@@@"? 21:42
NotFound_gf shockwave: const char * const is too much const for my taste.
The array syntax is cleaner in this case, IMO 21:43
shockwave NotFound_gf, good enought for me. 21:44
NotFound_gf: So, what was the outcome? You did: t tbot ++
Does that mean it still needs work?
NotFound_gf shockwave: fixed now, the usual C89 violation. 21:45
dalek rrot: r46685 | cotto++ | branches/ops_pct (5 files):
[opsc] update emitter test, add svn id to checked-in generated files
NotFound_gf Declaration after code
rrot: r46686 | NotFound++ | trunk/compilers/imcc/pbc.c:
fix C89 violation from r46684
rrot: r46687 | fperrad++ | trunk/runtime/parrot/library (2 files):
[LWP] some stuff for redirect
shockwave NotFound_gf: Sweet. One more question: Isn't the 'static' keyword there superflous? 21:46
NotFound_gf shockwave: some old compilers can recreate it in each call without that.
And it reflects better the intention, IMO. 21:47
shockwave NotFound_gf: I think its unecessary. But, it sounds like you have a reason. So, good enough. :-) 21:48
Thanks for the fix. I'll recompile as soon as I can. 21:49
My Windows crashed and burned 2 days ago, and I had to re-install, so I don't have some tools, yet.
Download them now....
NotFound_gf shockwave: please don't close the ticket until the '@@@' gets verified and discussed. 21:50
shockwave Downloading them now^^^, I mean.
NotFound_gf, I can't close tickets. Only have creation access.
NotFound_gf Ok, I'll take cae of it. 21:51
shockwave Thanks, man.
nopaste "plobsing" at 192.168.1.3 pasted "[PATCH] winxed :named :slurpy parameter support" (42 lines) at nopaste.snit.ch/20559 21:55
plobsing NotFound_gf: can you take a look at nopaste.snit.ch/20559 ? 21:57
NotFound_gf plobsing: looking... 22:00
plobsing: the reason of the escaping of the name is to avoid conflicts with limitations of imcc, so the fix is not so easy. 22:03
plobsing limitations of imcc? which ones? 22:04
NotFound_gf plobsing: variable names that looks like PASM registers.
plobsing oic
NotFound_gf .param int N1 --> Boom 22:05
plobsing I guess it can be made almost identical to the :named :flat handling then
NotFound_gf plobsing: I'll llook at it, thanks for the patch.
plobsing does anyone have any common NCI functions that can't be called from the current Parrot? 22:11
I want to test out my libjit framebuilder library
bacek Good morning, #parrot. 22:15
plobsing good afternoon bacek 22:16
sorear 15:15 < sorear> rakudo: say pir::dlfunc__PPSS(pir::loadlib__PS("libm.so"), "sinf", "ff")(1)
15:16 <+p6eval> rakudo 92508d: OUTPUT«No NCI thunk available for signature 'ff'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
perhaps this?
purl perhaps this is not limited to perl books.
plobsing it works! sorear++ 22:19
bacek plobsing, SHIP IT! 22:24
plobsing it is shipped 22:25
sort of
you just need to install and then "loadlib 'libjit_fb'"
bacek Hmm... Looks like libjit isn't packaged for debian... 22:29
msg cotto opsc tests shouldn't be in coretest. Can you take care of it? 22:30
purl Message for cotto stored.
shockwave purl 22:35
purl yes, shockwave?
shockwave purl paste
purl paste is (see: nopaste) or like glue but a little safer to sniff. or nopaste.snit.ch:8001/ or scsys.co.uk:8001/ anywhere shadowpaste is or mmm, sticky paste or You there! Eating the paste. or <see> 2 girls, 1 paste or App::Nopaste or toxic for bots and humans
nopaste "shockwave" at 192.168.1.3 pasted "iseq operator not accepting some operand types." (7 lines) at nopaste.snit.ch/20560 22:38
shockwave Can someone tell me if the above is a bug or standard behavior? 22:39
bacek shockwave, standard behaviour. You have to "cast" both args to same type. 22:40
(I think $N in this case)
shockwave $P0 is a pmc, but it's an int. So iseq can't take a PMC (that's an int), and a regular int? 22:41
That behavior should exist. There so much arm twisting just to do something that should be standard behavior. 22:43
Arg!
bacek shockwave, then cast second arg to PMC
just because Integer PMC can only box/unbox to INTVAL 22:44
And Parrot is VM, PIR is just syntax sugar for assembly, not High Level Language :) 22:45
shockwave You know what this means. Anytime you working with attributes, regarless whether the other operands are just PODS, then they're both essentiall PMCs. There's gonna be casting all over the place, taking valuable runtime speed. Not good. 22:46
Thanks, for the info, though.
sorear shockwave: You want to redesign Parrot? Join the club. 22:47
I don't think there's anyone here who entirely buys Parrot's design
Maybe leo or chip
and if 1 person here remade Parrot in their image, the other N-1 would still hate it
shockwave sorear, it's not redesign. These operators: +, -, *, /, and % should accept any conbination or int, floats and PMCs are ints or floats. Otherwise, everyone is forced into output code that shouldn't be needed. 22:48
sorear shockwave: there's no "compare to a native int" vtable op
bacek shockwave, "$N0 = $I0" is quite fast. And it actually gives speed because underlying dispatch for ops is much simpler 22:49
shockwave But I bet you still can't do: iseq $P0, $NO
22:49 joeri joined
shockwave I'm not saying that it's not going to take some effort to make it happen. I'm saying the effort would be worth it. 22:50
nopaste "bacek" at 192.168.1.3 pasted "shockwave: we do support casting for math" (9 lines) at nopaste.snit.ch/20561
shockwave I'm not one of the people that doesn't like Parrot's design. I like it. But, and this is expected, some warts need to be worked out as people start adopting it. 22:51
tcurtis shockwave, IMCC has no way of knowing at compile time whether that PMC you got from the attribute is an Integer, a Float, or a P6Regex. As well, what if the behavior of casting $P0 to an int and iseqing it with $I0 is different from the behavior of casting $I0 to a PMC and iseqing it with $P0?
shockwave Only through usage (and that means Parrot users creating languages) will these warts come out.
plobsing shockwave: if/when we get a tracing JIT, the hot path will likely get optimized to what you want
bacek shockwave, interesting "eq $N0, $I0, label" should work. 22:52
"eq $P0, $I0, label" should work too
shockwave I'll add the code for conversion. 22:53
Thanks for the feedback.
bacek But "iseq" doesn't have "casting" versions. 22:54
shockwave, can you create RFC ticket?
cotto bacek, looking now 22:55
shockwave bacek, What should it mention?
bacek shockwave, "op iseq should able to compare args of different type" 22:56
nopaste "cotto" at 192.168.1.3 pasted "bacek, how about this?" (20 lines) at nopaste.snit.ch/20562
bacek for consistency with "op eq"
cotto, looks ok. 22:57
cotto shipping it... ;)
shockwave bacek, kk
bacek cotto, next thing "corevm" :)
cotto what about it? 22:58
22:58 Psyche^ joined
bacek opsc isn't part of corevm 22:58
just because it depends on nqp/pct/etc 22:59
Check dynoplibs
cotto How does that problem manifest itself?
bacek touch compilers/opsc/ops2c.nqp && make corevm 23:00
Yes, $DYNOPS in corevm
tcurtis Someone more knowledgable than me: Is that case I mentioned where $P0 as int could be iseq to $I0 even if $P0 is not iseq with possible in the general case? It seems like it should be if $P0 is the first argument(for example, comparing a ResizablePMCArray of length 5 to the int 5), but is the same problem possible when $I0 is the first argument to iseq, since the Integer PMC just looks at the int value of the PMC anyway(I'm assuming iseq calls the is_equal 23:01
vtable)?
bacek And pull opsc for dependencies.
tcurtis, in general - not. But if PMC is just boxes value - it's possible. 23:02
cotto Won't that potentially break the dynops build?
bacek cotto, we have to move dynops into "all" target 23:03
cotto ok. That approach makes sense.
dynops aren't really a corevm thing
bacek and move them out of coretest :)
agreed
cotto done 23:05
bacek cotto, rebuilding now 23:06
corevm is correct 23:07
dalek rrot: r46688 | cotto++ | branches/ops_pct/lib/Parrot/Harness/DefaultTests.pm:
[opsc] move opsc tests from runcore to library
23:08
rrot: r46689 | cotto++ | branches/ops_pct (2 files):
[dynops] move dynops out of corevm and tests out of coretest
bacek coretest passed 23:09
cotto++
cotto w00
bacek Did you take a look at opsrenumber? 23:10
cotto not yet
bacek How hard is to reimplement it in opsc?
cotto iirc, it'll be nearly trivial
but I could be thinking of something else
shockwave Arg! trac.parrot.org LOVES eating new lines of post. 23:11
s/post/tickets
cotto im ur trac. imma omnomnomnomnom ur tikts 23:12
bacek cotto, looks easy enough. It will be just slow because of parsing ops...
shockwave cotto, what sucks about that trac issue is that someone else looks at the ticket and goes, "Wow, that dude sucks. Can't he format his ticket correctly". 23:14
bacek shockwave, formatting fixed :)
cotto nah. we feel quite happy blaming trac
bacek personally hate trac's text handling... 23:15
shockwave bacek, thanks. I see that it supports some sort of [code] ... [/code] tags. I'll be using that in the future.
plobsing is not a fan of trac's handling of replying to text that includes {{{ code }}} 23:20
bacek cotto, interesting. "expr" in ops used only as "expr NEXT()"
cotto, same with "restart" 23:21
cotto I'm not terribly surprised.
It's worth keeping if there's a use case for the other versions. I don't know either way if there is. 23:24
dalek TT #1641 created by shockwave++: iseq does not support the same type of operands as the math operators
TT #1641: trac.parrot.org/parrot/ticket/1641
cotto s/use case/potential use case/ 23:25
bacek rakudo has single usage of "expr NEXT()"
no "restart"
nopaste "bacek" at 192.168.1.3 pasted "cotto, I want to commit it :)" (28 lines) at nopaste.snit.ch/20563 23:27
bacek Then we can refactor Actions.op_macro to handle only "goto"
cotto wfm
bacek After merge I think.
cotto What'd be really nice would be a way to rebuild ops2c without rebuilding everything else 23:29
bacek "everything else"?
23:29 JimmyZ joined
cotto full ops bootstrap 23:30
i.e. run ops2c --core, check the output, rebuild ops2c without rebuilding parrot 23:31
nopaste "bacek" at 192.168.1.3 pasted "cotto, something like this?" (14 lines) at nopaste.snit.ch/20564
bacek ah, no
You have to rebuild everything after boostrap :)
bootstrap
purl bootstrap is jsut for the .elc files or a statistical method that replaces theoretical assumptuions with simulation
bacek purl, forget bootstrap 23:32
purl bacek: I forgot bootstrap
cotto yeah. That's what I want to gt around.
get
bacek cotto, use ccache. Rebuilding is quite fast :) 23:33
cotto bacek++ 23:34
I was actually meaning to do that.
Isn't there some symlink trickery you can do to avoid needing to pass special options to Configure.pl? 23:36
bacek I just have ./Configure.pl --cc="ccache cc" in my bash history 23:37
cotto I'm too lazy for that. 23:38
ccache.samba.org/ccache-man.html 23:39
bacek laziness ftw :) 23:40
dalek rrot: r46690 | cotto++ | branches/ops_pct/compilers/opsc/src/Ops/Emitter.pm:
[opsc] break apart '$Id$' so svn doesn't change it prematurely
23:41