www.parrotcode.org | Last Release: 0.7.0 "Severe Macaw"
Set by moderator on 3 September 2008.
dalek r30843 | tene++ | trunk: 00:03
: Add hll_map method to parrotinterpreter.pmc
diff: www.parrotvm.org/svn/parrot/revision?rev=30843
nopaste "tene" at 67.166.109.77 pasted "Someone should make a test out of this for interp.hll_map" (19 lines) at nopaste.snit.ch/13982 00:04
NotFound Can @INC be modified at runtime?
chromatic In Perl 6 or Parrot?
NotFound rakudo 00:05
Scope not found for PAST::Var '@INC'
chromatic Isn't it a superglobal? @*INC?
NotFound That was :) 00:06
> use Xlib; 00:08
Can't find ./Xlib in @INC
> @*INC.push('/home/julian/parrot/examples/nci/');
> use Xlib;
> say Xlib::DisplayName();
:0.0
>
Very nice the rakudo command prompt :)
00:10 AndyA joined
pmichaud cotto_home: one can get the current LexPaid by querying the interpreter object 00:11
*LexPad
NotFound Who pays Lax?
Lex
pmichaud $P0 = getinterp; lexpad = $P0['lexpad']
cotto_home pmichaud++ 00:13
now the fun part is making it iterable, which it isn't atm 00:14
00:24 cognominal joined
dalek r30844 | cotto++ | trunk: 00:54
: [dynpmc] add a TODO'd iterator test for DynLexPads
diff: www.parrotvm.org/svn/parrot/revision?rev=30844
r30845 | cotto++ | trunk: 00:59
: [dynpmc] shift code and docs so functions are closer to their POD documentation
diff: www.parrotvm.org/svn/parrot/revision?rev=30845
r30846 | chromatic++ | trunk: 01:24
: [PMC] Fixed coding standards nits.
diff: www.parrotvm.org/svn/parrot/revision?rev=30846
r30847 | chromatic++ | trunk: 02:23
: [src] Work around potential infinite loop when mapping Integer to a
: HLL-specific type (reported in RT #30843, elaborated in RT #58636).
diff: www.parrotvm.org/svn/parrot/revision?rev=30847
03:27 Andy joined 03:39 Theory joined
dalek r30848 | tene++ | trunk: 03:40
: [cardinal]
: * Map RPA to CardinalArray
: * Support slurpies a bit better
: * Still some weird bugs here...
diff: www.parrotvm.org/svn/parrot/revision?rev=30848
Tene Ah, that doesn't quite work yet because I don't have a .HLL statement. 03:45
03:55 tetragon joined 04:26 Zaba joined 04:33 Zaba_ joined 04:44 apannu_ joined 05:32 tetragon joined 05:54 Ademan joined
dalek r30849 | cotto++ | trunk: 06:02
: [config] mark the Config hash as read-only, plus a test
diff: www.parrotvm.org/svn/parrot/revision?rev=30849
06:28 Ademan joined
cotto_home jonathan, pign 06:39
*ping
jonathan, nm. found it 06:43
06:55 Zaba joined 07:42 Anandeep joined 08:10 rurban joined 08:12 Zaba_ joined 08:15 rurban joined 08:17 rurban joined 08:20 iblechbot joined 08:27 bacek joined
rurban seen jonathan 08:29
purl jonathan was last seen on #parrot 21 hours, 39 minutes and 47 seconds ago, saying: And I'm off to Vienna...cu
08:46 barney joined 09:13 rurban_ joined
rurban jonathan: This is for you use.perl.org/~rurban/journal/37380 09:16
dalek r30850 | julianalbo++ | trunk: 09:17
: Mysql example module: rename method result to store_result, add method use_result and update example programs
diff: www.parrotvm.org/svn/parrot/revision?rev=30850
bacek moritz: ping 09:44
moritz bacek: pong 09:45
bacek moritz: I've got initial patch for slurpy params
#58278 09:46
But my spectest regression run complains multiple times about "Use of uninitialized variable"
moritz yes, that's known 09:47
bacek is it my fault, or latest rakudo broken somehow?
moritz pmichaud++ added that warning the other day
bacek ah, ok
moritz it's only a warning
bacek purl: nopaste? 09:48
purl nopaste is, like, at nopaste.snit.ch/ (ask TonyC for new channels) or rafb.net/paste or poundperl.pastebin.com/ or paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at www.extpaste.com/
NotFound Someone can test the latest mysqltest.p6 with a short table and confirm that the --- Stored copy --- part is wrong?
nopaste "bacek" at 58.111.4.150 pasted "Initial patch for slurpy params for moritz" (29 lines) at nopaste.snit.ch/13985 09:49
moritz NotFound: just a sec
NotFound Wrong data, forget my formatting errors. 09:50
moritz NotFound: yes, it's wrong
NotFound Is a unmanagedstruct.pmc fault, I'll fix it now.
moritz NotFound: it seems to repeat the same dataset all over again, with smalll variations
bacek moritz: this patch brakes some tests... 09:51
NotFound But wanted some confirmation first.
moritz bacek: testing now... 09:52
bacek: it makes the first 6 tests of t/spec/S06-signature/slurpy-params.t pass at least 09:53
and dies on the one with a type declaration, which is probably still a TODO 09:54
dalek r30851 | julianalbo++ | trunk:
: drop the external flag in strings created from UnManagedStruct
diff: www.parrotvm.org/svn/parrot/revision?rev=30851
NotFound moritz: can you update and test again? 09:55
bacek moritz: yes. Type check is not implement yet (AFAIK)
moritz NotFound: when my other test has run through, yes
bacek: in general it is, but it would have to be done on each item of the slurpy array, not on the array itself 09:56
NotFound: seems to work fine now, from a quick visual inspection 09:57
NotFound++
NotFound Please take a look at the TODO added with the fix. 09:58
moritz NotFound: I would write the last inner loop in mysqltest.p6 as say map({"'$_'"}, $rc).join(', '); 10:01
NotFound moritz: I was looking at that part. Don't understand why the for flattens the array.
moritz basically rakudo is borked wrt list flattening 10:02
rakudo: my %h = ( a => [[1, 2], [3, 4]], b => 5); say %h<a>.perl 10:03
polyglotbot OUTPUT[[1, 2, 3, 4]␤]
moritz see what I mean?
NotFound I'm a poor C guy, that syntax overload my brain %-)
moritz it's a nested list that I put into the hash, and a flat lists falls out 10:04
NotFound Your suggestion also flattens. 10:05
moritz uhm right, I missed that
bacek: maybe add that patch to rt, and ask for comments? 10:06
bacek: I think jonathan is working on the signature part
NotFound I'll use a while like the first loop for anow.
bacek moritz: yes, I'll add it to RT. I just want confirmation that it works on someone else box. And "use of uninitialized var" is not my fault ;) 10:07
moritz btw the C style for loop is called 'loop' in Perl 6, so you can write loop(my $row = $r.fetch_row; defined $row; $row = $r.fetch_row()) { ... } 10:08
bacek: yes, confirmed ;) 10:09
anyway, that's just stylistic nonsense, good work ;)
NotFound moritz: I avoided that way for fear of errors or misfeatures %-) 10:10
dalek r30852 | julianalbo++ | trunk: 10:12
: avoid flattening in example mysqltest.p6
diff: www.parrotvm.org/svn/parrot/revision?rev=30852
NotFound I have a nice idea: store the error reports for the Mysql module in a Mysql database accessed with parrot X-) 10:15
moritz and then use this database for testing ;)
NotFound At my work they said one time that reports of broken fax machines must be sended by fax. 10:16
moritz remebers the hwresnet helpdesk he tried to contact because of his broken phone... it was only reachable by phone, of course 10:17
NotFound I said: nice, and reports about forgotten mail passwords and such must be sended by mail.
moritz NotFound, Tene: could you please take a look at RT #58308? 10:24
I'm not familiar with the core, so I'm hesitant to apply it 10:25
and a rakudo ticket depends on that
bacek moritz: hey! This is my patch! ;)
moritz bacek: yes. 10:26
bacek: I want to get patches applied as soon as possible, but only those which make sense, which is hard for me to judge outside my area of expertise
NotFound moritz: The string.pmc part? 10:27
moritz NotFound: yes, and the tests in the last comment 10:28
NotFound Last comment in the list or in the ticket? 10:30
moritz in the ticket 10:31
NotFound string_reverse_index_test.t ?
moritz yes
bacek still don't understand how to reply to ticket with CC to list... 10:32
NotFound There is a button to add it from some weeks ago.
The CHARSET_RINDEX thing already exists, or need some other patch? 10:34
bacek NotFound: already exists. 10:35
10:38 bacek_ joined
NotFound Patches applied locally, doing a full test. 10:42
moritz NotFound: if you think it's fine, and the tests pass, please commit 10:43
NotFound I'll do, but I left the rakudo part for you.
s/left/let
moritz ok 10:44
NotFound moritz: Did you read my comment here abot unfair comparaison? 10:47
Run xlibtest.pir and xlibtest.p6, draw some lines on each, and compare redraw speed. 10:48
dalek r30853 | julianalbo++ | trunk: 10:52
: add reverse_index method to string.pmc and a test for it, RT#58308, bacek++ moritz++
diff: www.parrotvm.org/svn/parrot/revision?rev=30853
10:56 bacek_ joined
bacek_ purl: STD.pm? 11:01
purl i heard STD.pm was svn.pugscode.org/pugs/src/perl6/STD.pm
moritz msg bacek the rakudo patch for rindex doesn't build ... 11:26
purl Message for bacek stored.
11:26 bacek_ joined
bacek moritz: I found my 3-month old patch for List.uniq. #55484. Please commit (or reject). 11:37
hey, how I can read messages stored by purl?
11:38 tetragon joined
NotFound bacek tell 'messages' in a query 11:43
bacek NotFound: thanks
moritz bacek: is uniq specced? 11:46
bacek moritz: probably. Checking spec
dalek r30854 | julianalbo++ | trunk:
: some cleaning and comments in example Mysql module
diff: www.parrotvm.org/svn/parrot/revision?rev=30854
bacek checking spec 11:47
moritz: no. It's unspecced. But spectested ;) 11:48
moritz we should change that to eval_dies_ok('(1, 2, 3).uniqe', 'List.uniq not specced'); 11:49
bacek moritz: hmm... At least we should change 'List.uniq' to use '!EXPORT'. 11:51
git svn rebase is very-very slow... I don't know why... 11:52
moritz if it's not specced it's not going in 11:54
I'll ask @Larry
bacek moritz: check S29-list/uniq.t
There is some comments. 11:55
moritz bacek: yes. Seems a bit out-of-dateish 11:57
bacek: I sent a mail to p6l asking for clarification 12:06
nopaste "bacek" at 122.110.89.49 pasted "Str.rindex for moritz" (60 lines) at nopaste.snit.ch/13986 12:09
bacek moritz: this version builds on my box. 12:10
And S29-list/rindex passes
moritz bacek: I'll take a look later, lunch now; thanks
bacek moritz: bone appetite ;) 12:12
moritz mercy
12:18 Whiteknight joined
dalek r30855 | Whiteknight++ | pdd09gc: 12:29
: [pdd09gc] updating to trunk from r30672
diff: www.parrotvm.org/svn/parrot/revision?rev=30855
12:30 jan joined
rurban jonathan: net2pbc crashes with c/Programme/Mono-1.9.1/lib/mono/2.0/mscorlib.dll 12:43
jonathan Crashes in what sense?
rurban Segmentation fault (core dumped)
jonathan Likely Parrot regression. 12:44
rurban Interesting
The smaller examples works mostly
jonathan OK
I've not looked at it for quite a while.
rurban I just finished the refactoring of SRM into a seperate compilers/SRM and put out the dotnet specific pieces
So that I can go on with WMLScript and jvm 12:45
jonathan: This is for you use.perl.org/~rurban/journal/37380
How should code access to a stack-private temporary index 1, e.g. 12:46
I guess similar to the load/store ops 12:48
jonathan rurban: It just increments a local?
rurban yes. 12:49
jonathan Rather than loading it onto the stack first?
OK.
rurban Yes, immediate
purl i guess immediate is running as soon as possible, which should give the wanted effect for both cases
jonathan I don't think you need to class that as a load instruction. All of the locals get allocated registers.
rurban Similar to [ldlarga] I thought
jonathan Yes
Well, not that one
That loads the address
rurban DEST0 = net_reg_ptr arg ARG1 ? 12:50
jonathan Look at ldloc instructions to see how instructions reference local variables
But you don't want it to be of load class
rurban Like [ldind.i1] ${STACK0}.load_int
Ah, I see: ${LTYPES}[0] 12:51
jonathan I tink it'd look something like 12:52
rurban instruction = ${LTYPES}[${ARG0}] = ${LTYPES}[${ARG0}] + ${ARG1} 12:53
arguments = uint8, int8
That should be it.
jonathan [ldloc]
code =
class = op
pop = 0
push = 0
arguments = uint32
pir = <<PIR
${STEMP0} = ${ARG0} 12:54
${INS} = concat "inc local"
${INS} = concat ${STEMP0}
PIR
Apart from replace ldloc with inc
After code put the opcode number in hex
And change unit32 to whatever the type of value in the bytecode is.
purl jonathan: that doesn't look right
jonathan (e.g. which says which number local it is)
Oh, you probably want after concating the number of the local a newline 12:55
${INS} = concat "\\n"
rurban Do I really need to stringify it? 12:57
But looks good.
purl O_O
bacek msg moritz my patch for slurpy args shouldn't be applied. It's useless... Args passing should be refactored. 12:58
purl Message for moritz stored.
jonathan rurban: Yes, because it goes in an I register
But it's an int type
s/but/because/
And there's no concat_s_i op 12:59
rurban jonathan: May I make it to accept lowercase opcode hex also?
jonathan So you can write code = 7f as well as code = 7F?
rurban Whow, with jvm: Currently able to translate 217 out of 213 instructions
yes 13:00
jonathan The 213 was hardcoded!
Yes, you can do that.
rurban I have a mixup of dotnet and jvm currently, so I got duplicates.
jonathan Ah. :-)
rurban error:imcc:Label 'PRE_OP_66_LAZY_MOVE_0' already defined
jonathan Are you actually translating anything successfully yet? :-)
Ouch. 13:01
rurban Not yet. I have to finish the assembly <=> class file differences. (No PE header, no tables, ...)
jonathan Aha, OK.
rurban just simple class bytecode, and for jar files unzip it and do it recursively
jonathan Hmm. I wonder if that is because it doesn't know how to handle ops that don't push or pop anything.
rurban the javap disassembler is helpful 13:02
jonathan Ah, it does know...nop does that
Try removing the pop and push lines entirely.
rurban You mean the number of stack args from all ops? 13:03
jonathan No, no
I mean for the inc op
Or is the error you just pasted not related to that?
rurban not sure. 13:04
jonathan I pasted in my suggestion "pop = 0" and "push = 0", but you can delete those two lines
OK. It's hard without knowing where that error is coming from.
rurban sure. did it. I need some more hours cleaning up the mess
jonathan :-)
I spent a long, long time developing the toolchain for this.
rurban The error is because code 66 is defined multiply
jonathan Aha. 13:05
That'd do it.
rurban Your hours are appreciated.
jonathan The tools are probably not the most user-friendly.
rurban well, B::C is similar
or the perl5 bytecode compiler/loader
jonathan It was my degree project. So while I certainly was trying to produce good, exensible code that others could hack on or base other trnaslators on, there was a lot of "make it work in time" too. 13:06
rurban Just PIR is causing me headaches. The target format
jonathan :-)
Yes, and here you have PIR that produces...PIR.
Interestingly, it is fast.
rurban Eventually I want to convert perl5 bytecode or madprops to pir: B::PIR 13:07
jonathan When I did implement this, if I translated some big .Net assembly, the translator produces PIR faster than Parrot turns that into PBC. :-)
rurban really, you could translate mscorlib.dll ?
jonathan Not all of it.
purl not all of it is fast, but much of it is
jonathan It skipped classes that it could not do.
But it actually could make it all the way through mscorlib.dll. 13:08
rurban good to hear
jonathan And get a fair number of classes. Main issue in that library were methods that were built into the VM.
rurban So I'll go through it with gdb
jonathan Which would need hand-coding.
But in the past, I used to make it run through a load of the .Net assemblies provided by Mono.
There's some stats in the paper.
rurban InternalGetHashCode, MemberwiseClone and those? 13:09
jonathan Those, yes. And plenty of others.
IIRC, I had some tool that gave a list of them.
Maybe I did.
There is some way to get a verbose "why we failed to translate a class" for each class it can't translate. 13:10
rurban tools/analysis.pl
dalek r30856 | moritz++ | trunk:
: [rakudo] implement Str.rindex, bacek++. Closes RT #58308
: Patch courtesy by Vasily Chekalkin <bacek at bacek.com>
diff: www.parrotvm.org/svn/parrot/revision?rev=30856
jonathan See section 4.1.2 in the paper.
rurban maybe it's andrew's new tri-color gc
jonathan I don't think that's made it into trunk yet? 13:11
rurban It did, rigth after 0.7.0
did it? hmm 13:12
moritz don't think so
nci did it
jonathan OK, NCI was merged in then.
rurban yes, indeed
jonathan But I don't think I really use NCI. 13:13
rurban I mixed it up.
just ncigen
When should I start adding it to my branch? When 20% is finished or 50%?
13:14 rdice joined
rurban I mean languages/jvm 13:14
I'm at 30% I guess 13:15
jonathan When should you put languages/jvm in trunk, you mean?
rurban No, just to my cygwin070 branch
jonathan Commit early, commit often... :-) 13:16
rurban I think I wait just for my CLA being clreared then I go on.
jonathan OK, sounds good.
jonathan is excited to see someone working on this stuff
rurban WMLScript also needs some treatment
NotFound If you have some recent problem with nci and (Un)ManagedStruct, look at my last change of UnManagedStruct.pmc 13:17
rurban I rather want to work on a compacting GC, but jvm is nice too.
NotFound (drop the capitals)
rurban I could compile clisp or perl5 to jvm also then
jonathan I did try to see if I could translate much of IronPython with net2pbc. But too much missing stuff. 13:19
rurban Dynamic Language Runtime (DLR) what is this? 13:21
A CLR extension for dynamic languages from MS?
jonathan Yes. 13:25
Not had chance to look at it much. :-(
rurban Does this have extra bytecodes? 13:26
maybe they had to extend code=FE more :) 13:27
So it should be named multi-bytecode
I see. JVM needs the new invokedynamic, the DLR wants to do without new ops. They added objects to the AST tree, to do dynamic method lookup. 13:30
CLOS does this with an extra CLASS tag for each variable. 13:34
jonathan Yes, I think they did no VM extensions.
Unlike Parrot, they didn't have dynops support in .Net.
rurban The JVM is also a bit crippled 13:35
purl okay, rurban.
rurban I'm just reading blogs.sun.com/jrose/entry/bravo_for...ic_runtime
Interesting to read how sun bashes the CLR internals 13:38
dalek r30857 | julianalbo++ | trunk: 13:39
: add free result method and throwing on errors to Mysql examples
diff: www.parrotvm.org/svn/parrot/revision?rev=30857
13:52 Zaba joined 13:54 Whiteknight joined 14:11 rhr joined 14:12 wknight8111 joined
dalek r30858 | julianalbo++ | trunk: 14:46
: add creation and check of prepared statements to example Mysql module
diff: www.parrotvm.org/svn/parrot/revision?rev=30858
15:10 particle joined 15:24 tetragon joined 15:25 gmansi joined 15:33 nopaste joined 15:39 tetragon joined 15:48 grim_fandango joined 16:02 tetragon joined 16:09 jan joined
dalek r30859 | julianalbo++ | trunk: 16:40
: add an assertion for RT#42693
diff: www.parrotvm.org/svn/parrot/revision?rev=30859
16:48 paco joined
Tene moritz: what do you want me to do with rt #58308? 16:54
16:57 Zaba_ joined
moritz Tene: I wanted a review, but NotFound++ already did that 17:09
Tene Orite, review. That thing people do to patches. 17:10
Really, I'm awake. I promise.
pmichaud moritz: did you see RT #58644? 17:11
moritz pmichaud: yes, I already added a test to rindex.t
pmichaud okay, good. Let's get bacek to take a look at it.
I could probably fix it, but it'd be better if he did it. :-)
moritz aye 17:12
17:12 rurban_ joined
NotFound There is a way in rakudo to declare an integer array? 17:14
moritz my Int @x;
pmichaud Rakudo doesn't enforce that, though. 17:15
right now my Int @x; probably does the same as my @x;
NotFound I'm worried about the big difference in speed between xlibtest.pir and xlibtest.p6
pmichaud NotFound: speed hasn't been our focus yet
NotFound pmichaud: I know, but is sooooooo big. 17:16
dalek r30860 | pmichaud++ | trunk:
: [rakudo]: spectest-progress.csv update: 158 files, 3287 passing tests
diff: www.parrotvm.org/svn/parrot/revision?rev=30860
pmichaud it's worth checking if the issue is execution speed or compilation speed
we know that compilation speed is low
NotFound Execution.
purl execution is probably immoral
pmichaud and if your question is "is there a way in Rakudo to declare something that is a ResizableIntegerArray or FixedIntegerArray" -- no, there's not at present and may not be for some time. 17:17
closest would be "my int @a";
NotFound Is a simple drawing program. It has an array of arrays to save the lines drawed. The difference is when redrawing.
moritz which is NYI
or even my int @a[10] 17:18
pmichaud lists and arrays in rakudo are definitely slow at the moment -- things should speed up when we have the lazy list implementation
there's a lot of copying taking place
NotFound Is an array of references to arrays, better said. 17:19
pmichaud at present rakudo does a lot of copying even in that case 17:20
it's something that I'm aiming to fix (like, in the next few days)
I'm finally getting my jfdi-energy back :-)
NotFound I was not blaming, justo curious ;) 17:21
Anyway, those that have an X-server can use the program as a quick benchmark tool for the progress in this thing. 17:22
dalek r30861 | pmichaud++ | trunk:
: [rakudo]: Add 'fail' function.
diff: www.parrotvm.org/svn/parrot/revision?rev=30861
pmichaud I tried running it on my system but it didn't work. It appears to be looking for xlib in a specific place 17:23
(this was a day or two ago)
NotFound pmichaud: it just uses: loadlib 'libX11', blame the dynaloader. 17:24
pmichaud okay, I'll check into it.
NotFound Or maybe you don't have a symbolic link from libX11.so to libX11.so.xx 17:25
pmichaud lrwxrwxrwx 1 root root 15 2008-07-18 16:28 libX11.so.6 -> libX11.so.6.2.0
but that's about it. 17:26
anyway, I have to head to a soccer game, so I'll look into it later.
NotFound You need another one without the .6 17:27
dalek r30862 | kjs++ | trunk: 17:30
: [pirc/new] add linkage to libparrot
: + refactoring of code
: + added 2 files for better code organization
: + updated MANIFEST.
: + updated README on how to build and link.
diff: www.parrotvm.org/svn/parrot/revision?rev=30862
17:47 paco joined 17:52 spreiter joined
spreiter hi. I'm new to parrot. Is there any reference on how to write PIR? Just doing the tutorial and there is an exercises that asks me to modify the squaak.pir so it prints Squaak for Parrot VM. I found the solution through google and made a grep search in the docs directory for "commandline_banner" but no luck. 18:05
NotFound spreiter: start by taking a look at docs/imcc/imcfaq.pod 18:07
moritz spreiter: have you seen www.parrotcode.org/examples/pir.html already?
NotFound The last part, that starts with: PIR PROGRAMMING 18:08
spreiter Thanks for the link. haven't seen that
cotto_home spreiter, the tests in t/pmc/*.t should also be an abundant source of fairly simple example code 18:09
NotFound cotto_home: IMO .t files are not easy to understand for beginners. 18:10
18:10 Ademan joined
spreiter thanks for the hints :-) 18:12
I think I should first finish the tutorial series
NotFound And of course, imcfaq.pod points you to: examples/tutorials 18:13
tutorial
purl rumour has it tutorial is search.cpan.org/dist/Catalyst-Manua...torial.pod
spreiter I'll check it out. Thanks for the pointers 18:16
sorry for sounding dumb, but where is example/tutorial? 18:20
NotFound spreiter: in the parrot source tree.
spreiter ah ok
NotFound examples, not example 18:21
spreiter found it 18:23
18:27 Ademan joined, Zaba joined 18:45 Ademan joined 19:21 Ademan joined
Tene pmichaud: HLLCompiler.pir tries to call new with the result of split(), but new_p_p expects a String pmc, not an Array 19:21
19:22 Andy joined 19:48 gmansi joined
Tene Hmm. 19:52
PGE needs a way to specify the HLL we're inheriting from in:
grammar cardinal::Grammar is PCT::Grammar;
Right now that generates: $P0 = subclass 'PCT::Grammar', 'cardinal::Grammar'
That dies in an HLL world, but this works: 19:53
$P1 = get_root_global ['parrot'], 'PCT::Grammar'
$P0 = subclass $P1, 'cardinal::Grammar'
With that manual change in gen_grammar.pir, I now have --target=parse working with .HLL 19:54
--target=past is still failing though, hmm...
20:05 Whiteknight joined
pmichaud Tene: all of the PCT classes are in the 'parrot' HLL 20:17
so they have to be imported into whatever HLL you're planning to use for the action grammar
20:17 Theory joined
pmichaud also, 'PCT::Grammar' probably needs to become ['PCT';'Grammar'] 20:18
20:19 wknight8111 joined
Tene Oh, I should be importing things instead of grabbing them from 'parrot'? 20:21
Interesting.
pmichaud well, that's the way I expect things to generally work. It's basically the equivalent of saying "use PCT;"
i.e., it imports the symbols into the namespace
Tene Huh, okay.
Should PCT also do the same thing, or should pct get_root_global [ hllname ; ... ] ...?
pmichaud well, PCT is already in the parrot hll so it doesn't have to worry about it. 20:22
Tene When it's getting namespaces and classes for the language it's compiling
pmichaud when does PCT do that?
Tene top = get_hll_global parsegrammar_name, 'TOP' 20:23
HLLCompiler.pir:350
pmichaud that's likely to become a method call.
Tene 35#, I guess.
A method call on what?
pmichaud the parsegrammar
Tene Huh. Okay. 20:24
dalek r30863 | julianalbo++ | trunk:
: add a dirty implementation of escape_string to Mysql example module
diff: www.parrotvm.org/svn/parrot/revision?rev=30863
pmichaud several things in HLLCompiler need a big refactor
it was written before we had action grammars, and uses a design I disagree with
(it was written before we had protoobjects, too) 20:25
so, the "real" way it should work is that you provide the HLLCompiler with the protoobjects for the grammar and action grammar that you want to use, instead of string names. 20:26
(In general I find using strings to identify classes to be highly suspect.)
Tene Rather.
Looks like gen_grammar just uses subclass instead of P6metastuff 20:29
pmichaud right, that needs to change also. 20:30
some items haven't converted to P6object yet :-)
Tene So does all of this need to come before HLL refactors? 20:34
pmichaud a lot of it does, yes. or in conjunction with them.
it's probably close to time to do some intensive work in a branch for this 20:35
I worked on it on the plane to YAPC::EU, but found that I needed hll_map and a few other items like this first
moritz rakudo's docs/STATUS list anonymous classes as To do - is there a good reason not to move it to implemented? 20:36
pmichaud I think STATUS is out of date. Yes, feel free to move it to "implemented"
(as well as any other items you may happen to notice) 20:37
afk, lunch 20:38
nopaste "tene" at 24.10.199.37 pasted "This seems to work for using P6object for PGE grammars" (15 lines) at nopaste.snit.ch/13989 20:43
pmichaud better is to get_root_global the P6meta object. 21:31
jonathan pmichaud: Any preference on days I Rakudo hack next week? 21:32
pmichaud any day should be good
jonathan (as in, during the next week)
OK.
pmichaud fridays (morning) tend to be a little on the busy side for me 21:33
jonathan I was thinking earlier in the week than that.
The RT queue has...so much stuff.
pmichaud yes, it does
jonathan Which isn't a bad thing.
pmichaud certainly plenty for us to work on.
I'm expecting to do inline PIR in the next day or so 21:34
jonathan I'll probably divide my time between lazy lists branch and trying to resolve some of the RT tickets.
Oh, great. :-)
pmichaud that sounds like a good idea
(phone call brb)
moritz nopaste.snit.ch/13991 21:35
this implements parsing (and matching) of m/.../
any objections?
pmichaud I see that it does parsing, but matching?
also, does 'm' have to be followed by a slash?
moritz well, I could add an alternative | 'm' <quote_expression: :regex> 21:36
but that would allow mbab as a regex
which is not quite allowed
(maching is automatically done right ;)
pmichaud m <.ws> <quote_expression: :regex>
NotFound I think a lot of tickets can be resumed in one: "Argument passing code is bad"
Tene pmichaud: right now HLLCompiler gets TOP, which is a method, and calls it with the source as the first param, which goes into self in TOP. Should I assign the source to a new Grammar object constructed from the protoobject, and call TOP on that, then? 21:37
moritz pmichaud: doesn't your version allow m bab as a regex then?
pmichaud I think <quote_expression> won't accept just any ol character as a delimiter 21:38
Tene It won't.
moritz tries
pmichaud Tene: the syntax/semantics for constructing a new grammar match are still being worked out a little bit
I don't know what TimToady has this week :-)
moritz with pmichaud's version: /rakudo -e '"a" ~~ m bab && say $/' 21:39
output: a
Tene Oh, right.
moritz: add a <before <[/[({]>>
ocelot
pmichaud I'm not sure that "m bab" is incorrect syntax. 21:40
moritz is sure that if it's allowed, it's very weird ;)
pmichaud does q:regex have any restrictions on the delimiter? 21:41
er, Q:regex
moritz I don't see any restriction in the specs 21:44
STD.pm parses m bab as some kind of quote 21:45
pmichaud sure, since m is a quote construct
quote:m in STD.pm 21:46
moritz so, should I use m <.ws> <quote_expression> then?
(with :regex, that is)
pmichaud sure. 21:47
moritz runs spectest_regression, and commits if successful
pmichaud and we need two separate alternatives -- one for <.before '/'> and one for 'm' <.ws> 21:48
moritz that's how I have it now
pmichaud I also wonder if unicode has advanced enough that we can remove the FIXME:unicode line above. Might be worth a try.
s/remove/uncomment/ 21:49
moritz tries
pmichaud I'd do them in separate steps, though. one for 'm' and another for >>
er, <<
moritz ok
NotFound pmichaud: I think unicode progress is waiting for the string pdd work.
pmichaud NotFound: PGE can handle unicode, though, as can Rakudo 21:50
NotFound pmichaud: and parrot... but not very well ATM.
pmichaud I think the blocker before was a minor issue in HLLCompiler or in PGE that may have been fixed
NotFound pmichaud: did you refer to an item I closed some two months ago? 21:51
pmichaud tests xmodmap mappings: « » ¢
NotFound: no. 21:54
I'm referring to some changes I made to PGE and HLLCompiler a couple of months ago. :-)
dalek r30864 | moritz++ | trunk: 21:56
: [rakudo] parse m/.../ and similar regex forms. Closes RT #57346
diff: www.parrotvm.org/svn/parrot/revision?rev=30864
moritz it doesn't compile when I uncomment the Ā« line
Illegal escape sequence no '}'
on the perl6.pir -> perl6.pbc step
pmichaud okay, I'll look into it.
21:57 kid51 joined
kid51 cotto_home ping 22:14
22:21 bacek joined 22:23 Whiteknight joined
dalek r30865 | moritz++ | trunk: 22:28
: [cage] make codetest a bit happier (copyright notice, coda)
diff: www.parrotvm.org/svn/parrot/revision?rev=30865
r30866 | moritz++ | trunk: 22:30
: [cage] correct svn Id tag
diff: www.parrotvm.org/svn/parrot/revision?rev=30866
r30867 | moritz++ | trunk: 22:38
: [rakudo] tools/autounfudge.pl: add --exclude options and exclude long running
: and looping tests by default
diff: www.parrotvm.org/svn/parrot/revision?rev=30867
cotto_home kid51: pong, even though you won't see it 22:43
summon kid51 22:56
22:56 rdice joined
dalek r30868 | tene++ | trunk: 22:59
: Use P6object to create the class for PGE Grammar classes.
diff: www.parrotvm.org/svn/parrot/revision?rev=30868 23:00
r30869 | tene++ | trunk:
: [cardinal]
: * Fix a grammar bug
: * One more passing test file
: * Update a couple of tests to use test.rb
diff: www.parrotvm.org/svn/parrot/revision?rev=30869
23:09 TonyC joined
cotto_home NotFound, ping 23:10
nopaste "cotto_home" at 96.26.202.243 pasted "trying to compile Xlib.pir - im doin it rong" (3 lines) at nopaste.snit.ch/13995
23:11 tetragon joined
cotto_home what's the right way to do that? 23:11
purl i heard the right way to do that was on my gateway device, be it a router, a foonix firewall, etc. If my client is also my gateway...
cotto_home no, the right way is <reply>
purl okay, cotto_home.
cotto_home botsnack
purl thanks cotto_home :)
cotto_home no, the right way to do that is <reply> 23:12
purl okay, cotto_home.
NotFound cotto_home: pong 23:13
cotto_home what's the right way to compile Xlib.pir? 23:15
NotFound cotto_home: looks like the -o option must be before the source.
I tried your way, and gives me same error. 23:16
cotto_home of course
otherwise parrot thinks I'm trying to pass something to Xlib.pir
do you mind if I add that to xlibtest.pir? 23:18
NotFound The command to compile the lib? Not a bad idea. 23:21
cotto_home done 23:26
dalek r30870 | julianalbo++ | trunk: 23:27
: applied a modified version of mhelix patch in RT#58030 that solves several parameter passing problems
diff: www.parrotvm.org/svn/parrot/revision?rev=30870
r30871 | cotto++ | trunk:
: [t] update t/pmc/hash.t to avoid deprecated non-$ register names
diff: www.parrotvm.org/svn/parrot/revision?rev=30871
r30872 | cotto++ | trunk:
: [examples] add compilation instructions to xlibtest.pir
diff: www.parrotvm.org/svn/parrot/revision?rev=30872
NotFound If someone have in mind some optional parameter problem, please check with r30870 23:32
(or later) 23:33
cotto_home NotFound, should #58030 be closed now that you've applied the patch, or is it just a temporary workaround? 23:40
NotFound cotto_home: must be temporary, but who knows... ;) 23:41
But don't close yet, wait at least to tomorrow.
I want to do some checks, and must go to bed now. 23:42
cotto_home It's yours to close. I was just checking. 23:43
NotFound I like that patch, even if ugly :)
dalek r30873 | cotto++ | trunk: 23:45
: [credits] add mhelix++ for #54860 fix
diff: www.parrotvm.org/svn/parrot/revision?rev=30873
23:53 kid51 joined
kid51 cotto_home ping 23:55
23:56 TiMBuS joined