www.parrotcode.org | Last Release: 0.7.0 "Severe Macaw"
Set by moderator on 3 September 2008.
00:09 AndyA joined 00:34 cout joined 00:36 particle1 joined
cotto_work #57668, #54220 and #53156 seem to refer to the same issue 00:38
00:38 mj41_ joined 01:27 kid51 joined 01:39 TiMBuS joined
dalek r30800 | jkeenan++ | trunk: 02:05
: Applying patch submitted by Andy Dougherty in
: rt.perl.org/rt3/Ticket/Display.html?id=57920: steps toward making
: auto::aio more rational.
diff: www.parrotvm.org/svn/parrot/revision?rev=30800
02:05 Theory joined 02:09 bacek joined 02:10 grim_fandango joined
dalek r30801 | cotto++ | trunk: 02:18
: [imcc] add a test for .includes with absolute paths, closing #32087
diff: www.parrotvm.org/svn/parrot/revision?rev=30801
cotto_home ticket_count--
02:28 Ademan joined
kid51 Does anyone know julianalbo's #parrot nick? 02:46
We have perlcritic failures in a file he contributed today: examples/nci/xlibtest.pl
paco kid51: he is NotFound 02:47
nopaste "kid51" at 68.237.0.112 pasted "examples/nci/xlibtest.pl: New file has perlcritic errors" (14 lines) at nopaste.snit.ch/13975 02:48
kid51 paco; thx. I messaged him. 02:50
paco kid51: I will remind him tomorrow .. 02:51
kid51: here in spain is very late in the night .. 02:53
02:56 chromatic joined
chromatic kid51, that file isn't Perl 5; it's NQP. 02:56
kid51 Yes, I noticed that. And since I haven't played with NQP, I decided not to try to fix the problems myself, lest I make it worse. 02:57
chromatic The tabs we can fix, but strict and warnings....
kid51 paco: I didn't know where you or he were terrestrially located.
paco :)
chromatic Changing the file extension will work though. 02:59
kid51 ļæ½Cuļæ½l parte de Espaļæ½a? 03:00
paco kid51: he lives in Santiago de Compostela
kid51: in the north 03:01
dalek r30802 | chromatic++ | trunk: 03:06
: [examples] Changed file extension of NQP xlib example so that Perl::Critic
: doesn't try to apply Perl coding standards.
diff: www.parrotvm.org/svn/parrot/revision?rev=30802
kid51 also realizes it's late and he hasn't had any dinner. 03:14
Time sure flies when you're reading perl.qa ;-)
PerlJam anyone know how to just test PGE? 03:34
like if I make a change to PGE how do I test that a) I didn't break anything and b) that my change does what I think it should 03:37
chromatic I usually test Pheme and Rakudo. 03:41
PerlJam Hmm. lots of machinery betwixt me and PGE at that level. 03:42
chromatic Sadly yes. 03:43
I'm sure PGE could use more comprehensive tests. 03:44
dalek r30803 | chromatic++ | trunk: 03:46
: [PMC] Replaced the abomination which is a call to key_string() from outside of
: a Key PMC with VTABLE_get_string(), which should do the right thing almost
: everywhere instead. Unfortunately, it doesn't yet DTRT absolutely everywhere,
: so you'll see it in other places... for now. See RT #53156 for some
: justification.
diff: www.parrotvm.org/svn/parrot/revision?rev=30803
03:49 Theory joined 03:59 clunker9__ joined
dalek r30804 | chromatic++ | trunk: 04:02
: [src] Replaced more key_string() calls with VTABLE_get_string().
diff: www.parrotvm.org/svn/parrot/revision?rev=30804
r30805 | chromatic++ | trunk: 04:10
: [regex] Replaced key_string() with VTABLE_get_string() in regex language.
diff: www.parrotvm.org/svn/parrot/revision?rev=30805
r30806 | chromatic++ | trunk:
: [src] Removed key_string() from public API.
diff: www.parrotvm.org/svn/parrot/revision?rev=30806
s1n chromatic: what was wrong with key_string? 04:14
chromatic There's a potential infinite loop between it and get_string in the Key PMC. 04:20
I'm trying to get rid of it by making sure that everything outside of Key and Key-like PMCs calls get_string on the PMC rather than key_string directly.
s1n iirc one of the backtraces of those 64bit crashes always seemed to originate around key_string calls 04:29
i'll test some stuff tomorrow with my nightly, maybe that cleared it up 04:30
04:31 Andy joined 04:42 apannu__ joined
dalek r30807 | tene++ | trunk: 05:05
: [cardinal]
: * String <<
diff: www.parrotvm.org/svn/parrot/revision?rev=30807
r30808 | tene++ | trunk: 05:08
: MANIFEST and metadata changes for a new test file
diff: www.parrotvm.org/svn/parrot/revision?rev=30808
r30809 | cotto++ | trunk: 06:07
: [pdd] replace some stray tabs with spaces
diff: www.parrotvm.org/svn/parrot/revision?rev=30809
cotto_home would there be anything wrong with excluding draft pdds from t/codingstd/pdd_format.t by default?
or perhaps having a separate todo'd test for the draft pdds 06:08
dalek r30810 | cotto++ | trunk: 06:20
: [pdd] make non-draft PDDs pass pdd_format.t
diff: www.parrotvm.org/svn/parrot/revision?rev=30810
chromatic_away Is there any reason why draft PDDs shouldn't pass the format tests? 06:25
06:44 Zaba joined
cotto_home they're at a stage where the content is still in flux and it's more likely that (relatively) frequent edits will cause test failures 06:44
when I was looking at the hll interop pdd, it seemed odd to reformat an active discussion 06:46
dalek r30811 | cotto++ | trunk: 06:53
: [pmc] POD fix
diff: www.parrotvm.org/svn/parrot/revision?rev=30811
cotto_home clunker = sqrt(clunker) 07:14
08:02 martin joined
moritz does that imply clunker = 1 ? ;-) 08:31
NotFound Someone wants to play a little with the first attempt of a mysql module? 08:34
moritz NotFound: later, now I'm trying go fudge 2.6k lines for rakudo :/ 08:37
nopaste "NotFound" at 213.96.228.50 pasted "Mysql test module" (307 lines) at nopaste.snit.ch/13976
"NotFound" at 213.96.228.50 pasted "Mysql test module - perl6 usage" (28 lines) at nopaste.snit.ch/13977
dalek r30812 | chromatic++ | trunk: 08:51
: [IO] Added explicit fsync() call to PIO_unix_close() in an attempt to fix
: FreeBSD failures in t/pmc/io.t. 08:52
: Improved diagnostic line number reporting in t/pmc/io.t.
diff: www.parrotvm.org/svn/parrot/revision?rev=30812
08:59 Ademan joined
Tene Huh. Adding an hll_map method to the interpreter pmc was almost trivial. 09:00
nopaste "tene" at 166.70.38.237 pasted "METHOD hll_map" (29 lines) at nopaste.snit.ch/13978 09:01
Tene Anyone up willing to look at it for me?
NotFound Tene: how can be tested? 09:09
Tene rt.perl.org/rt3/Ticket/Attachment/4...hllmap.pir 09:11
Ew, that asks for login?
nopaste "tene" at 166.70.38.237 pasted "METHOD hll_map test" (19 lines) at nopaste.snit.ch/13979 09:12
09:14 iblechbot joined
NotFound Tene: it says: Foo 09:17
Tene Yeah, as it should.
It's more functionality that I'm worried about, not bugs. That example is almost identical to the example pmichaud asked for, though. 09:18
NotFound Compiles fine without warnings with C++
dalek r30813 | moritz++ | trunk: 09:20
: [rakudo] added bool.t to spectest_regression, and s/pge-tests/rx/
diff: www.parrotvm.org/svn/parrot/revision?rev=30813
NotFound Tene: CONTEXT(interp)->current_HLL is the HLL of the current .sub ? 09:22
Tene Yeah. 09:23
Maybe it should be looking at SELF instead. I'm unsure.
dalek r30814 | allison++ | trunk: 09:25
: [cage] Update two draft PDDs so they meet the coding standards.
diff: www.parrotvm.org/svn/parrot/revision?rev=30814
NotFound I'm worried about core_type_id. Maybe the type of self is the one to ne mapped. 09:27
09:29 rurban joined
NotFound An interesting question comes to me: are the HLL common to all running interpreters? Or I can, for example, have an stable perl6 in the main interpreter and load a testing version in a child interpreter? 09:30
rurban I've started now with java as language/jvm. Is then name okay? I copied from dotnet and want a class2pbc.pbc. But maybe we want to parse java sources also. Then this could go another language, like language/java. Or should this be combined into a bytecode converter and a java parser within the same language? 09:31
NotFound rurban: I don't think that the parser must be bound to the jvm. The parser can be used to generate parrot code. 09:33
09:33 barney joined
rurban Sure. It's almost bidi - as particle named it yesterday. parse the bytecode and parse the source. 09:34
NotFound An by the way, there are already java compilers targetting jvm, no urgency to write another ;) 09:35
rurban It's just that I build all the exception classes and other helpers which should be used by the source parser and by the bytecode converter
I want to target parrot of course.
Tene rurban: languages/jvm is a good name
rurban The main reason is that perl6 can use java classes then. swing and such. 09:36
php, pynie and ruby also of course
NotFound rurban: and maybe use jdbc drivers
rurban There's a huge common lisp converter (java => cl) around, which I saw at the last conference. I'll check it out. 09:37
With this step I've moved languages/dotnet/build/SRM to compilers/SRM 09:38
(Stack to Register Mapping)
Maybe some other languages want such perl5 classes also. But it's only useful for bytecode with stack vm's. 09:39
NotFound Soemone is working on a csharp compiler?
Tene Not that I've seen. 09:40
NotFound Just curious.
rurban Jonathan via C#=> dotnet dll => PIR
Different to Jonathan I want to generate most of the opcode table, the translation rules, automatically. 09:42
jonathan Best just to do .Net => PBC 09:43
Because then C#, VB.NET and other things will "just work" 09:44
dalek r30815 | moritz++ | trunk:
: [rakudo] implement Code::REJECTS that doesn't set $/ and doesn't die.
: I don't really know if that's correct, though. Will ask p6l for clarification
diff: www.parrotvm.org/svn/parrot/revision?rev=30815
rurban Or I'll use a table structure similar to the perl5 byteode.pl which I also maintain. We will see.
dalek r30816 | moritz++ | trunk: 09:48
: [rakudo] fix POD in Code.pir
diff: www.parrotvm.org/svn/parrot/revision?rev=30816
09:52 bacek joined
rurban jonathan: How about your opinion of moving SRM to compilers? It's used in dotnet, WMLScript and maybe jvm 09:54
jonathan rurban: I purposefully kept that stuff factored out, with the view that it could be useful elsewhere or that we could implement better algorithms and test them. 09:56
rurban Ok. 09:57
jonathan So yes, if multiple langauges can use it, it's perhaps a good idea.
I think have at least a couple using it first, though.
Just to show that it can work.
rurban The next problem is that such compilers will not get installed. I hope the translator will work without it.
I'll try it out in my branch 09:58
The special translator.pl exceptions need to be factored out to the rules file @need_enum_fix
jonathan IIRC, it's just used for building. 10:00
rurban The WMLSCript SRM::Register and SRM::Stack look also much simplier than yours.
jonathan I wrote three different ones. 10:08
They varied in complexity. The most complex one gave the best results. 10:09
rurban Now with the move to compilers/SRM the SRM .pm files do not pass perlcritic. hundreds of violations :) 10:35
jonathan Haha! 10:37
I bet many of them are style things. 10:38
rurban Stupid little style errors. This will cost my afternoon.
jonathan Oh, just add an exception for those files.
rurban But the refactoring of dotnet and WMLScript didn't break more. That's good. 10:39
jonathan Some of the coding standards tests are a PITA, IMO.
rurban I did of lot of renaming and moving in WMLScript
jonathan (Especially trailing_whitespace.t...)
rurban Most are just Subroutine prototypes and PIR code coda present' 10:40
trailing whitespace is okay (and trivial to fix)
I'll ignore those for now and finish the jvm rules. 10:41
jonathan Cool 10:42
rurban I go shopping now. bye 10:49
jonathan And I'm off to Vienna...cu
10:56 iblechbot joined 11:17 Zaba_ joined
dalek r30817 | julianalbo++ | trunk: 11:29
: some improvements in Xlib examples
diff: www.parrotvm.org/svn/parrot/revision?rev=30817
NotFound Some good guy can make examples/nci/xlibtest.p6 more perlish? 11:30
moritz how so? 11:53
NotFound Don't know. If I know, I've already wrote that way myself ;) 11:54
moritz ;) 11:55
I've seen no obvious way to make it perlish
NotFound Using shorter and more idiomatic loops, mainly. 11:56
moritz does it run yet? 11:58
NotFound The version I commited in r30817, I mean.
It runs, but I dislike to have bad style examples in examples. 11:59
moritz indeed, it runs ;) 12:00
NotFound And now you don't lose your masterpiece of art when hiding the window.
moritz list assignment would be more perlish, but that's not yet implemented in rakudo
moritz should really svn up && make 12:01
NotFound: are you going to commit your mysql module? 12:02
NotFound moritz: I'm cleaning it now.
moritz masak and viklund will love you ;) 12:03
NotFound I'll prefer woman's love, but thanks anyway ;) 12:04
moritz ;) 12:05
I'm currently making a few of these loops more perlish 12:06
NotFound Thanks 12:07
rurban Whatwas languages/bc ? 12:12
bytecode?
purl it has been said that bytecode is the actual code that is executed
moritz rurban: maybe the 'bc' calculator?
NotFound Calculate Back Christus dates? 12:13
12:13 TiMBuS|Away joined
rurban Because WMLScript references to languages/bc/<stuff> in its pods. 12:14
dalek r30818 | moritz++ | trunk:
: [examples/nci] make xlibtest.p6 more perlish
diff: www.parrotvm.org/svn/parrot/revision?rev=30818
r30819 | julianalbo++ | trunk: 12:16
: added Mysql module and simple programs to examples/nci
diff: www.parrotvm.org/svn/parrot/revision?rev=30819
NotFound moritz: nice. And it even runs! ;) 12:23
moritz ;) 12:27
I have some more in preparation 12:28
dalek r30820 | moritz++ | trunk: 12:31
: [examples/nci] make xlibtest.p6 even more perlish (smaller scopes)
diff: www.parrotvm.org/svn/parrot/revision?rev=30820
moritz now it doesn't look like perl assembler anymore ;) 12:33
dalek r30821 | moritz++ | trunk:
: [examples/nci] more readability improvements in xlibtest.p6
diff: www.parrotvm.org/svn/parrot/revision?rev=30821
moritz NotFound: mysqltest.p6 segfaults after printing 5 rows 12:35
(with 64 rows in the table) 12:36
afk & 12:39
NotFound moritz: can't reproduce with a short table. Have a backtrace? 12:44
moritz: in xlibtest.pl: I don't see a 'my' for $l, is automatically scoped? 12:47
.p6, I mean
moritz: A NULL value? It segfaults with that for me., 12:52
It was UnManagedStruct's fault. Fixed. 12:58
dalek r30822 | julianalbo++ | trunk:
: return NULL parrot string on NULL c string from UnManagedStruct
diff: www.parrotvm.org/svn/parrot/revision?rev=30822
rurban I'm just inspecting Sun's HotSpot GC 13:09
and comparing it to Google's v8 new GC
Sun calls it Mark&Sweep, but in fact it's a compating sweep. Just as google's. And it's precise also. For the foreign objects 13:11
13:11 jrockway joined 13:24 Zaba joined
moritz NotFound: -> $x { ... } makes a formal parameter, no my needed 13:36
NotFound Some day I'll learn perl6 ;) 13:37
13:40 kid51 joined 13:43 contingencyplan joined 13:49 iblechbot joined 14:05 martin joined 14:08 mberends joined 14:11 tetragon joined 14:35 jrockway joined 14:37 Andy joined
moritz yes, NULL values were the problem 14:42
Whiteknight NULL values always seem to be a problem
dalek r30823 | julianalbo++ | trunk: 14:44
: add some Atom functions and disable debug output in example Xlib module
diff: www.parrotvm.org/svn/parrot/revision?rev=30823
PerlJam That's why Date and Codd didn't want them
NotFound Not a problem, just a feature that was still not implemented ;)
PerlJam anyone familiar with PGE awake? 14:46
NotFound There are other features expecting to be implemented in NCI. For example, Xlib functions that returns C strings that must be freed with XFree 14:47
moritz PerlJam: just a tiny bit 14:48
PerlJam I'm taking a stab at implementing thingy**sep and I'm not sure what class of PGE::Exp to call thingy. When it's first parsed it's a PGE::Exp::Quant, but then I need to change it to something else once I realize I'm dealing with the separator version of **. What should the something else be? 14:49
basically A**B becomes A[BA]*
I think PGE::Exp::Subrule should do it, but I'm not sure. 14:50
moritz uhm, I never said I'm familiar with the internals (just with using it ;)
PerlJam heh
moritz: then, do you know of a good way to test PGE? It seems there's always an extra layer of stuff between me and it. 14:51
moritz PerlJam: t/compilers/pge/* 14:52
PerlJam I could use that for regression testing I guess, but when I ack '\\*\\*' there doesn't seem to be any tests for the version of A**B that we currently have (or what I find doesn't look like what I would expect for such tesets) 14:55
s/sets/sts/
moritz try ack -a 14:56
PerlJam doh! thanks
ah ... I've looked at this stuff before (the last time I mucked with ** probably) 14:57
moritz abused them yesterday for testing rakudo
PerlJam so ... how do I run just the pge tests? 15:06
nevermind 15:09
I'm just a little slow sometimes
15:23 jrockway_ joined 15:35 Zaba_ joined 15:45 Zaba joined 15:53 Ron joined 15:56 particle joined
NotFound languages/pipp/README still has the explanation of the old name plumhead 16:02
16:07 tewk joined
TimToady so Failure ~~ messid("F_42") or some such 16:12
whoops, wrong window
cotto_home NotFound, not for long 16:17
NotFound++ 16:19
dalek r30824 | cotto++ | trunk: 16:20
: [pipp] delete explanation of the name "Plumhead"
diff: www.parrotvm.org/svn/parrot/revision?rev=30824
NotFound What languages can use pir modules? Only rakudo?
moritz Tene tried to make cardinal compiler modules to pir 16:31
don't know if he succeeded
Tene cardinal can 16:39
moritz Tene++
Tene set RUBYLIB env variable, I think
right now it only checks cwd
or patch it to search in the right place
languages/cardinal/src/builtins/eval.pir
NotFound Tene: The eval_parrot .sub ? 16:40
label, I mean.
Tene the search path 16:41
$:
I think
bbiab, gf dragging me away.
kid51 OT: Anyone know how you would write the equivalent of Perl 5 'split' in C? 16:42
NotFound kid51: with care. 16:43
moritz man strtok 3
erm, man 3 strtok
kid51 $ man 3 strtok 16:44
No manual entry for strtok in section 3
moritz or strsep, dunno
kid51: you need to install the developr manual pages
NotFound "This page is part of release 2.77 of the Linux man-pages project." 16:45
kid51 That would not come with a standard Debian install?
moritz not with standard, no
kid51 Any idea what I would search for with apt? 16:46
NotFound kid51: library functions pages usually are not required for standard users ;)
moritz apt-get install manpages-dev
kid51 I have it on my iMac.
NotFound Or just google: man strtok
Sometimes is faster than man itself X-)
kid51 moritz: Thanks. That worked. 16:47
NotFound kid51: other way: embed parrot and let parrot do it. 16:48
dalek r30825 | fperrad++ | trunk: 16:49
: [Lua] struct library
: - implement struct.size()
diff: www.parrotvm.org/svn/parrot/revision?rev=30825
17:12 rurban_ joined 17:16 Zaba joined 17:41 Andy joined
dalek r30826 | julianalbo++ | trunk: 17:43
: quick test of setting properties and allow closing windows in examples Xlib module
diff: www.parrotvm.org/svn/parrot/revision?rev=30826
rurban jonathan: back from vienna? 17:57
seen jonathan
purl jonathan was last seen on #parrot 7 hours, 7 minutes and 47 seconds ago, saying: And I'm off to Vienna...cu
dalek r30827 | julianalbo++ | trunk: 18:16
: add Esc key check and disable debug info in example xlibtest.p6
diff: www.parrotvm.org/svn/parrot/revision?rev=30827
r30828 | pmichaud++ | trunk: 18:26
: [rakudo]: Revert r30815 and r30816.
diff: www.parrotvm.org/svn/parrot/revision?rev=30828
r30829 | julianalbo++ | trunk: 18:37
: politely destroy windows in Xlib examples
diff: www.parrotvm.org/svn/parrot/revision?rev=30829
19:01 Andy joined
dalek r30830 | julianalbo++ | trunk: 19:04
: throw exception instead of exiting on failure in example Xlib module
diff: www.parrotvm.org/svn/parrot/revision?rev=30830
moritz pmichaud: negated smart match is broken currently. Should I fudge the tests in rx.t, or do you want to fix it?
pmichaud how is it broken? 19:06
is there a ticket?
19:16 Ademan joined 19:34 daxelrod joined
NotFound pmichaud: on your messsage on pdd23: the sub usage seems broken because the handler finder try to call a 'can_handle' method on it, and throws an exception because can not.... and from here, infinite recursion. 19:44
pmichaud oh, so it's really only working with ExceptionHandler pmcs? 19:45
NotFound pmichaud: judging by the code, no other pmc can work. 19:46
pmichaud well, my next message points out some other weirdnesses about pdd23 19:47
NotFound I've readed now.
pmichaud ick, and 'can_handle' doesn't do what I would want/expect it to do 19:48
it appears to check if the handler has been previously invoked, and returns false if it has
ahhh, very interesting. 19:51
I see how things are being handled internally.
the push_eh LABEL opcode simply creates a new ExceptionHandler
perhaps the can_handle method is what causes that handler to only be be invocable once 19:53
dalek r30831 | chromatic++ | trunk:
: [t] Added skip support to t/op/sprintf.t; the data file t/op/sprintf_tests uses
: it, but nothing in this file parsed it. This should clear up some failures on
: OS/390, VMS, MSWin32, HP-UX, OpenBSD, NetBSD, and Irix.
diff: www.parrotvm.org/svn/parrot/revision?rev=30831
Tene pmichaud: that's exactly right. it's the set-integer on exceptionhandler which is used to avoid an infinite loop when throwing an exception inside an exception handler 19:55
NotFound Looks like is no exactly avoiding it.
Tene according to allison that can e removed when all EHs check the type of exception and rethrow exceptions they don't want to handle 19:56
NotFound I've goy 4819 calls in a backtrace, enough infinite for my machine.
Tene Also, I like your throw/EH api refactor proposal. That's exactly what I wanted earlier when I was working on it, but I'm not comfortable proposing architecture changes yet. 19:58
I should get over that.
pmichaud: there's some other significant weirdness with the exception system right now. 19:59
I ca show you notes when I'm back from being gone ll day.
NotFound Avoiding the method call if not found in the pmc avoids the recursion, but dies on an assertion.
pmichaud avoiding the method call is probably not the right approach 20:00
Tene The gf dragged me off to visit with her family all day today
NotFound pmichaud: If a Sub must ve a valid handler, don't see other way.
s/ve/be
Tene pleasedieinafire.net/~tene/parrotexceptionnotes I think was the start of working towards tickets. 20:01
I don't remember what's there right now.
pmichaud Tene: no problem re: today -- this isn't a huge blocker for me at the moment. I was starting to work towards getting break/continue/next/last/redo semantics working, but I was looking for non-label ways to do the exception handling 20:02
20:02 chromatic joined
pmichaud it is very interesting to me when an exception is thrown and a handler catches it, the handler isn't really popped from the stack (a la pop_eh) -- it's simply "disabled" 20:03
NotFound "Check if it's an Exception and if it has already been handled once (rethrow)."
This is not what the code do.
The code first call can_handle, ane then check if it's an exception, not the other way. 20:04
chromatic There are infinite loops in exceptions right now; I think we have workarounds in place but not real fixes.
NotFound No workaround for a .sub handler.
20:05 Andy joined
NotFound The fail with my attempt of fix is inside args passing code, an area that I've never be able to understand. 20:08
pmichaud NotFound: I think that any "simple fix" will likely make things even more convoluted -- there probably needs to be some underlying redesign done 20:09
NotFound pmichaud: was just curiosity, anyway.
pmichaud right
NotFound kills a kitty 20:10
pmichaud I think I can get the same effect using a label-based exception handler, though
basically:
push_eh somelabel
...
somelabel:
myhandler(...)
Tene pmichaud: I've been trying to get someone else to look at this stuff for a while, so I'm interested in this discussion happening. 20:11
pmichaud Tene: well, perhaps I can push it a long a bit since rakudo will be needing it :-)
s/a long/along/
Tene That would be great. 20:13
NotFound By the way: is giving/when working on rakudo? 20:14
dalek r30832 | pmichaud++ | trunk:
: [rakudo]: spectest-progress.csv update: 156 files, 2798 passing tests
diff: www.parrotvm.org/svn/parrot/revision?rev=30832
Tene pmichaud: the "disable" is to work around an infinite loop bug with throwing an exception from a handler. for normal rethrow and such, an iterator of handlers is stored in the exception.
NotFound s/giving/given 20:15
Tene NotFound: it will once this specific issue is resolved of EHs being disabled.
pmichaud NotFound: given/when is what I was thinking about when I started looking at exceptions
Tene Although maybe I could hack around it by explicitly re-enabling the handler. 20:16
pmichaud I'm working on how to implement 'break' and 'continue'
Tene pmichaud: did you see my interp.hll-map patch?
pmichaud Tene: saw that you did one (yay!) haven't looked at the contents yet
Tene kk
pmichaud once chromatic asked about it being method-based I figured it wouldn't be all that difficult to do
Tene 3 lines 20:17
pmichaud it will probably prompt me to go back and look at HLL handling in p6object and PCT again :-)
I _think_ that is the last semi-major obstacle to getting rakudo into its own hll space
(from a design perspective, anyway. There's still a not-so-small-matter-of-programming involved.)
Tene That would be fun to work on. 20:20
pmichaud things that have to be done: (1) make p6object hll-aware, (2) symbol export/import from PCT into HLL namespaces, (3) HLL type mapping 20:21
Tene I'll be back in about 3 hours, I hope. 20:22
pmichaud okay, have fun
chromatic Tene, align the = and it looks great. 20:25
pmichaud, looks like we lost a few hundred tests in the past day.
NotFound Talking about exceptions: some comment on my patch in RT#48320 ? 20:26
chromatic NotFound, it looks sane to me.
NotFound I'll commit it, then. 20:28
20:31 Auzon joined 20:32 Ivatar joined
dalek r30833 | julianalbo++ | trunk: 20:48
: allow Exception initialization from PMC (RT#48320)
diff: www.parrotvm.org/svn/parrot/revision?rev=30833
r30834 | julianalbo++ | trunk: 20:50
: fix codingstd in examples/nci/xlibtest.pir
diff: www.parrotvm.org/svn/parrot/revision?rev=30834
Tene The only issue raised with my patch last night was weather it should modify the types table of INTERP or SELF. 20:51
pmichaud: is there a list of what p6object needs to do re: hll-aware? 20:52
NotFound A good thing towards hll interoperability will be to have a list of languages that can use external modules with a short example. 20:54
pmichaud chromatic: yes, I think moritz and TimToady turned off the regex tests that were put in the day before 20:57
the test file needed some major refactoring, and it was really slow
moritz pmichaud: we replaced them by a different test
that has all the regexes inline
pmichaud moritz: yes, I saw that
but as of 00:00 CDT today, it apparently wasn't in the regression suite :-) 20:58
20:58 Zaba_ joined
moritz pmichaud: r30828 broke that, because !~~ dies with Null PMC access in set_pmc_keyed() 20:58
pmichaud moritz: do we have an example...? 20:59
moritz if "a" !~~ /b/
{ ... }
pmichaud okay, I'm sure I can fix that quickly.
moritz good
(otherwise we have 700 failing test in our results :/ )
NotFound The !~~ operator looks like a logo for a Surfers club. 21:00
Tene it's trying to get caller's lexpad, but it's being called from REJECT instead of directly
ACCEPT is, that is.
to set $/
chromatic Tene, INTERP looks fine to me. 21:02
Have I mentioned today how worthless the trailing spaces test is? 21:04
PerlJam no. go ahead and mention it. :)
chromatic Worthless.
purl The US Dollar!
PerlJam Where does that meme come from anyway? I've never had a problem with trailing spaces 21:05
chromatic They're useless, but they're not actually harmful to anything.
Which, in my mind, makes them not worth testing. 21:06
pmichaud PerlJam: re: A**B in PGE -- I'm not sure that translating that into A[BA]* is the right thing
PerlJam pm: por que no?
chromatic "Oh dear, something's failing in Smolder! Oh, there's a trailing space. How useful."
pmichaud A could contain a closure or something where repeating it isn't appropriate
or a declaration
purl i think a declaration is a bit
NotFound chromatic: maybe they are not causing problems just because they are tested and cleaned.
PerlJam Hmm.
chromatic I saw nothing in the PDD about them. 21:07
PDD 07 that is.
pmichaud chromatic: maybe disable the trailing spaces test and see who complains :-) 21:08
(hint: not me)
PerlJam chromatic: what pm said. And whoever complains, beat into submission :)
pmichaud I need to switch locations -- bbiab
PerlJam (unless they can come up with a really good reason to keep the test)
21:09 Andy joined
PerlJam pm: I still think A**B should become A[BA]* and if A is a closure or something, caveat emptor (for now) 21:12
(mainly because I can't think far enough ahead to how to do it otherwise just yet) 21:13
pmichaud PerlJam: the real solution is to provide a PGE::Exp::Quant node that can do it 21:17
that's actually not that difficult
I haven't done it yet because I haven't needed it for any of the language tools, and I'd rather do it as part of the PGE redesign/refactor 21:18
but I suspect that would actually be less difficult than trying to transform (arbitrary_regex)**B into (arbitrary_regex)[B(arbitrary_regex)]*
(which would require two deep copies of the AST for (arbitrary regex)) 21:19
PerlJam heh, which is right about where I've gotten in trying to do it. 21:20
pmichaud it's easier to fix the PGE quant node :-)
PerlJam If you say so. I'm looking at it now and it looks greek so far. 21:22
pmichaud it probably deserves a special PGE::Exp::QuantExp node then 21:24
since ::Quant is really designed for numeric quantification
PerlJam so, when we get to the point of parsing the B part of A**B and realize we've got separator rather than a quantifier, is the right way to switch the object like mob = mob.'new'(mob, 'rw' => 1, 'grammar' => 'PGE::Exp::QuantSep') ? 21:27
pmichaud I'm looking at it now...
no, I think I'll want to leave it as a Quant node but give it a second child (the AST for B) 21:28
so we know it's a separator Quant by virtue of having two children 21:29
I'll have to look and see how many places the Quant nodes are being optimized out of the AST, though, and make sure that doesn't happen 21:30
(PGE recognizes things like **{1} as being optimizable)
PerlJam: if you could just get the parser to recognize A**B as being a separator quantifier, that'd be a big help. I could do the code generation from there. 21:32
also, we need to make sure that the ? and ! modifiers are in the right place -- I don't know if that's been done already
moritz: !~~ should be working again. 21:34
PerlJam pm: There are already checks to see if the first char of B is a { or a number and do something appropriate. I was going to say "if not a { or a number, then it must be a separator"
dalek r30835 | pmichaud++ | trunk: 21:35
: [rakudo]: Restore Code.REJECTS, but have it set $/ like Code.ACCEPTS does.
: This is a workaround until we have infix_prefix_meta_operator:<!> implemented.
diff: www.parrotvm.org/svn/parrot/revision?rev=30835
pmichaud PerlJam: that works. But you also have to get it to read just a single regex atom
PerlJam yeah, thinking about that now
pmichaud look at the alias syntax for some clues -- it does the same thing 21:36
ouch, no clues there 21:37
ummmm....
21:37 rdice joined
PerlJam Thinking is hard when the twins keep bringing me stuff to look at (especially when some of the stuff is semi-dangerous ... "where did you find those scissors?") 21:37
pmichaud it's also tricky because whitespace binds funny with ** 21:38
i.e., we have to know if there's whitespace anywhere around the ** 21:39
s1n pmichaud: i responded to your email 21:40
dalek r30836 | fperrad++ | trunk: 21:42
: [Lua] struct
: - start pack() & unpack()
diff: www.parrotvm.org/svn/parrot/revision?rev=30836
PerlJam yeah, that whitespace thing was bothering me.
pmichaud PerlJam: we might be able to get away with only honoring whitespace following the '**' for now 21:43
anyway, let's worry about the case without sigspace for now :-) 21:44
s1n: getting together to review PIR sounds like an excellent idea. what's your schedule look like this upcoming week?
s1n heh that depends 21:45
pm
21:56 tetragon joined
PerlJam Have I mentioned how cool git is? 22:03
"Oh, you've got some commits in the middle of a series of commits that you want to disappear, git rebase -i to the rescue" 22:04
git almost has the perl-nature of "easy things easy, hard things possible" 22:05
cotto_home is $P1 = new ['parrot';'exception'], $P0 an obsolete way to create a new PMC, or should it still work? 22:16
chromatic cotto_home, I don't see any tests for creating exceptions that way, but as far as I know it should work. 22:22
s1n chromatic: last we talked, you pointed out something goofy in that stacktrace i uploaded, what was obviously wrong about it? 22:24
dalek r30837 | chromatic++ | trunk:
: [t] Corrected name of file within test.
diff: www.parrotvm.org/svn/parrot/revision?rev=30837
chromatic s1n, it didn't match up with the source code as it exists now. 22:27
cotto_home Class 'parrot;exception' not found 22:32
it works fine with ['Exception']
it also eats up all my memory and core dumps if I use a comma
pmichaud ['parrot';'exception'] was speculative
it's never worked 22:33
chromatic How about [ 'parrot'; 'Exception' ] ?
pmichaud as things stand now, that won't work either, unless/until there's a ['parrot';'Exception'] class
chromatic That seems suboptimal, as does the IMCC bug with the comma.
cotto_home chromatic, nope
s1n chromatic: i do nightly builds, so unless something was checked in after 2am that day, it's up to date 22:34
cotto_home nopaste
clunker3 pasta.test-smoke.org/ or paste.husk.org/ or nopaste.snit.ch:8001/ or rafb.net/paste or poundperl.pastebin.com/ or paste.scsys.co.uk/
pmichaud I think the intent was that ['parrot';'Exception'] would look up the Exception class in the parrot HLL namespace, but Parrot has never actually worked that way 22:35
currently any keyed values to 'new' are relative to the current HLL, always.
nopaste "cotto_home" at 96.26.202.243 pasted "kill imcc with a comma" (29 lines) at nopaste.snit.ch/13980
chromatic #3 0xb7cd0ebe in mem_sys_allocate (size=3085053745) at src/gc/memory.c:51 22:36
That's one long string.
pmichaud I think when pdd23 was drafted they were hoping to work towards resolution of having multiple classes of the same name
but that never actually happened.
chromatic cotto_home, [ 'parrot', 'exception' ] gets parsed as a slice. 22:38
PerlJam pm: how does pge handle balanced delimiters?
pmichaud PerlJam: you mean like [...] and (...)? It's built into the circumfix: processing of the OPP 22:42
so, PGE recognizes that an expression can't terminate as long as a circumfix remains open.
22:43 TiMBuS joined
PerlJam I was thinking that parsing an atom might be a matter of recognizing (), [], "", '', and some sequence of characters that does not start with a number or { 22:44
er, add <> to that
cotto_home NotFound, ping 22:45
NotFound pong 22:46
cotto_home I'm curious about the code you posted in #48320
nopaste "cotto_home" at 96.26.202.243 pasted "code from #48320" (5 lines) at nopaste.snit.ch/13981 22:47
cotto_home were you assuming that $P1 = new ['parrot';'exception'], $P0 was valid, or did you test it?
NotFound I think it was a typo.
PerlJam heh, that's some typo! 22:48
NotFound Let me check my tests.
Was this: $P1 = new ['Exception'], $P0
cotto_home ok. I've seen that work. 22:49
NotFound I'll post a correction now.
cotto_home If nobody minds, I'll fix the pdd23 example to use the more common syntax without brackets. 22:50
22:52 Tene joined
cotto_home done 22:53
dalek r30838 | cotto++ | trunk:
: [pdd] make the exception-throwing example in pdd23 work
diff: www.parrotvm.org/svn/parrot/revision?rev=30838
NotFound By the way, I noted that when trying to override init_pmc in a pir class, still uses the argument as a hash of attributes. 22:56
That forces to use for argument names only valid attributes. 22:57
Not a big problem, but overriding it can make shorter code in some cases. 22:59
dalek r30839 | chromatic++ | trunk: 23:14
: [IMCC] Refactored grammar so that all attempts to instantiate a new object via
: a key require a valid namespace key.
diff: www.parrotvm.org/svn/parrot/revision?rev=30839
r30840 | julianalbo++ | trunk: 23:19
: redrawing on Expose event in example xlibtest.pir
diff: www.parrotvm.org/svn/parrot/revision?rev=30840
NotFound Now a completely unfair comparaison can be done: draw some lines and compare redrawing speed between pir and p6 versions. 23:20
chromatic cotto_home, here comes an IMCC patch for you. 23:25
cotto_home in the meantime, how do I get the current LexPad in PIR? 23:27
dalek r30841 | chromatic++ | trunk: 23:29
: [IMCC] Forbade attempts to instantiate an object with a slice key.
: Instantiation keys have to be real namespace keys, otherwise you get weird out
: of memory errors at runtime (reported by Christoph Otto).
diff: www.parrotvm.org/svn/parrot/revision?rev=30841
cotto_home chromatic++ #disallowing stupid stuff 23:30
chromatic The more of these we fix before anyone else finds them, the fewer exist for anyone else to find. 23:31
cotto_home I'll write a test for that. 23:32
chromatic Already done; see t/oo/new.t.
cotto_home That's what I get for not looking at the diff. 23:34
NotFound I have some problem like that when doing the Exception init_pmc thing, but forgot to take note. 23:36
chromatic This is specifically where you write $P0 = new [ 'some', 'class' ] instead of $P0 = new [ 'some'; 'class' ] 23:37
Hm, the OpenBSD Smolder tests are all over the place. 23:38
NotFound Don't remember if was that.
cotto_home chromatic: how do I get the current LexPad in PIR? The only ops that call Parrot_find_pad (which looks like it does what I want) are store_lex and find_lex. 23:44
chromatic cotto_home, I'm not sure.
The Rakudo patch I did the other day touched similar code (r30772).
You might get some inspiration there. 23:45
cotto_home actually, it might be good enough to explicitly create a DynLexPad, since all I'm doing it testing the iterator
dalek r30842 | cotto++ | trunk: 23:58
: [doc] add external resources to dotnet
: patch courtesy of Reini Urban
diff: www.parrotvm.org/svn/parrot/revision?rev=30842