|
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 | |||