|
Parrot 0.6.2 "Reverse Sublimation" Released | parrotcode.org/ | 18/672 new/open tix | logged in irclog.perlgeek.de/parrot/today Set by moderator on 6 June 2008. |
|||
|
00:09
AndyA joined,
davidfetter joined
00:11
gmansi joined
00:12
bacek joined
00:13
bsb joined
00:21
particle joined
|
|||
| bacek | morning... | 00:26 | |
| kid51 | good morning bacek | 00:27 | |
| Very quiet here this (for me) evening. Most of USA still in heat wave; slows down both computers and programmers. | |||
| bacek | kid51: it's winter in Australia :) So it's little bit cold here | 00:28 | |
|
00:29
nopaste joined,
silug joined
|
|||
| kid51 | Are you still in severe drought there? | 00:31 | |
| bacek | kid51: officially - yes... | 00:36 | |
| dalek | r28212 | chromatic++ | trunk: | 00:37 | |
| : [src] Allowed PMCNULL as a value for all PMC-containing hashes. Now cloning | |||
| : these hashes doesn't produce a segfault when trying to clone PMCNULL. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28212 | |||
| bacek | seen pmichaud | 00:41 | |
| clunker3 | pmichaud was last seen on #parrot 2 hours, 57 minutes and 59 seconds ago, saying: most people don't have trouble with that. | ||
| purl | pmichaud was last seen on #parrot 2 hours and 58 minutes ago, saying: most people don't have trouble with that. | ||
|
00:41
Eevee joined
|
|||
| dalek | r28213 | chromatic++ | trunk: | 00:42 | |
| : [lib] Made the PMC emitter store PMCNULL in the vtable isa_hash member. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28213 | |||
| bacek | yak.. pmichaud rejected my patch for handling PMC NULL in MMD, cause we shouldn't pass NULLs in MMD... Chromatic adds support for NULLs in other parts... | 00:45 | |
| dalek | r28214 | chromatic++ | trunk: | 00:48 | |
| : [src] Made vtable cloning clone isa_hash member, only after global | |||
| : initialization has finished (that is, when isa_hash is not NULL in the source | |||
| : vtable). This gives all PIR-declared classes their own isa_hash. | |||
| : Also made vtable deleting delete isa_hash member, when appropriate. This | |||
| : version looks tricky, but this is to respect that PIR-declared classes have | |||
| : separate isa_hash memory between their RW and RO variants. (That's fixable in | |||
| : the Class PMC, but only if you want to violate encapsulation.) | |||
| : Note that this fixes the double-free error showing up in the Perl 6 fakecutable. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28214 | |||
|
00:54
japhb joined
01:07
TiMBuS joined
|
|||
| dalek | r28215 | chromatic++ | trunk: | 01:10 | |
| : [PMC] Tidied Class PMC. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28215 | |||
| r28216 | pmichaud++ | trunk: | 01:14 | ||
| : [core]: | |||
| : * Backport some CONTROL_* exception constants from the pdd25cx branch. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28216 | |||
| r28217 | pmichaud++ | trunk: | 01:20 | ||
| : [pct]: Initial control exception capabilities. | |||
| : * PAST::Block 'control' attribute allows catching exceptions in blocks. | |||
| : The special value 'return_pir' generates inline code for catching | |||
| : CONTROL_RETURN exceptions and returning the payload. | |||
| : * PAST::Op pasttype 'return' generates CONTROL_RETURN exceptions. | |||
| : * These only work with a single return value for now; we may generalize | |||
| : this to multiple values in PCT, or just leave that for HLLs to | |||
| : provide their own return throwers/catchers. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28217 | |||
| r28218 | pmichaud++ | trunk: | 01:21 | ||
| : [nqp]: | |||
| : * Add 'return' statement. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28218 | |||
| bacek | Ho! pmichaud++! | ||
|
01:34
Zaba_ joined
01:35
cjfields joined
|
|||
| Whiteknight | when is pdd25cx getting merged back in to trunk? | 01:42 | |
| or is that happening nowish? | |||
| bacek | Whiteknight: summon pmichaud and ask him :) | 01:44 | |
| Whiteknight | i dont need to summon people to ask stupid questions | ||
| I'm just happy to watch him work! | |||
| bacek opens next bag with pop-corn | 01:45 | ||
| :) | 01:46 | ||
|
02:00
tetragon_ joined
|
|||
| tetragon_ wonders when tetragon will fall over | 02:01 | ||
| DietCoke | allison is working on pdd25cx. I'm guessing it'll get finalized this weekend. | 02:02 | |
| pmichaud | I don't have much to do with pdd25cx, other than tremble about the merge. | 02:03 | |
| since the release is a week from tomorrow, I'm guessing the merge would be post-YAPC? | 02:04 | ||
| (assuming it's finalized this weekend) | |||
|
02:05
particle joined
|
|||
| dalek | r28219 | chromatic++ | trunk: | 02:06 | |
| : [src] Fixed the STRING_compare signature to signify that the bucket key may be | |||
| : NULL. This fixes a segfault in the optimized build. All tests pass. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28219 | |||
| DietCoke | yah. | 02:10 | |
| presuming things go well at the hackathon. | |||
|
02:21
particle joined
|
|||
| dalek | r28220 | pmichaud++ | trunk: | 02:28 | |
| : [cardinal]: | |||
| : * Fix properties on src/builtins/guts.pir . | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28220 | |||
|
02:33
cjfields joined
02:43
confound joined
02:59
particle joined
03:13
TonyC joined
|
|||
| dalek | r28221 | pmichaud++ | trunk: | 03:21 | |
| : [rakudo]: | |||
| : * Add 'return'. Only works for single-element values at the moment -- | |||
| : returning lists and named elements will be available shortly. | |||
| : | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28221 | |||
| Whiteknight | returning multiple values should be as easy as returning a ResizablePMCArray that contains those values | 03:23 | |
| pmichaud | ...not quite. :-) | ||
| Whiteknight | really? what snags are there? | ||
| pmichaud | given return(@a,@b) | 03:24 | |
| Whiteknight | i see, said the blind man | ||
| pmichaud | if called with $a = foo() then $a should not become an Arrayref to the ResizablePMCArray | ||
| Whiteknight | PCT couldn't handle the translation to/from the array? | 03:25 | |
| pmichaud | yes, it probably will at some point. I just wanted to do the baby step first. | ||
| in reality, we have to return both positional and named values | |||
| and that doesn't fit into a ResizablePMCArray | 03:26 | ||
| Whiteknight is guilty of oversimplifying | |||
| pmichaud | i.e., return($foo, @bar, :xyz(1)) | ||
| which means that the positional and named arguments have to be rolled up into a single pmc (a Capture) that can be carried as the payload of the exception. | |||
| Whiteknight | is that what a capture is, a combined array/hash? | 03:27 | |
| pmichaud | and then whatever catches that exception has to know how to unpack the Capture back into positional and named arguments | ||
| essentially, yes. | |||
| Whiteknight | there is so much going on in this whole project, it's hard to keep everything straight | ||
| pmichaud | but on the other hand, we'd like to _not_ create an array and hash every time we're returning a single element. :-) | ||
| because that's a bit overkill. | |||
| Whiteknight | yeah, I know. Of all people I should be weary of creating new garbage | 03:28 | |
| pmichaud | and, of course, other non-Perl 6 HLLs might have their own ideas about how return values work, so PCT should be flexible enough to support those also. | ||
| (anyway, you get the point. :-) | |||
| Whiteknight | thank you | 03:29 | |
| pmichaud | and yes, it's hard to keep it all straight. I don't know that anyone has the full picture. :-) | ||
| Certainly I don't. | |||
| Infinoid | japhb: ping | 03:32 | |
|
03:34
TonyC joined
|
|||
| DietCoke spends his evening merging his various email accounts into a giant googlesink. | 03:34 | ||
| Infinoid | is 'googlehole' a naughty word? | 03:52 | |
| diakopter | as in, "that meme went down the googlehole" | 03:54 | |
| Infinoid | more like, "if google gains too much mass it will collapse into a singularity, and the entire Bay area will fall into the googlehole" | 04:04 | |
| tewk | pmichaud: ping | 04:08 | |
| dalek | r28222 | chromatic++ | trunk: | 04:22 | |
| : [src] Fixed C90 violation in Parrot_destroy_vtable (my fault in r28221). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28222 | |||
|
04:24
particle1 joined
|
|||
| dalek | r28223 | chromatic++ | trunk: | 04:30 | |
| : [src] Really fixed src/vtables.c (as r28222 couldn't compile anywhere). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28223 | |||
|
04:35
tetragon joined
04:36
rafl joined
|
|||
| pmichaud | tewk: pong | 04:41 | |
|
04:43
slightlyoff joined
|
|||
| tewk | I have an optable bug. If i use tigheter exclusively it works, if I use equals it doesn't. paste coming | 04:44 | |
| pmichaud | equals? or equiv? | ||
| nopaste | "tewk" at 155.97.237.62 pasted "proto changes" (31 lines) at nopaste.snit.ch/13221 | 04:45 | |
| japhb | Infinoid: pong | ||
| tewk | equal, this is old code from c99 | 04:46 | |
|
04:46
ank joined
|
|||
| tewk | I guess it should be equiv | 04:46 | |
| pmichaud | afaik it's always been 'equiv' | ||
| tewk | maybe its just a bug never exposed. Like I said it is really old code. Thanks. | 04:47 | |
| c99 was never really heavily exercised. | 04:48 | ||
| pmichaud++ | |||
| Tene | I've seen kjs use equals() in cardinal, too. didn't he work on c99? | 04:49 | |
| tewk | Yeah after I wrote the intial code. | 04:52 | |
| bacek | pmichaud: ping | 04:55 | |
| pmichaud | bacek: pong | 04:56 | |
| bacek | pmichaud: did you have any chance to take a look on my 'LazyList sketch' at nopaste.snit.ch/13208? | ||
| pmichaud | yes, I did. But I don't think it should be a separate class. | 04:57 | |
| I think it should just be List. | |||
| bacek | yes, but I don't want to hack List at the moment. | ||
| pmichaud | sure, that makes sense. | ||
| bacek | It's just idea of how it can be implemented. | ||
| And I think, that List no 'is-a' RPA, but 'has-a' RPA. | 04:58 | ||
|
04:58
sheriff_p left
|
|||
| pmichaud | we'll probably do something like that. jonathan and I were discussing earlier that we'll likely have two RPAs to start with | 04:59 | |
| bacek | Because all access to 'get_pmc_*' and 'set_pmc_*' will be wrapped | ||
| pmichaud | one for already generated items and one for items yet-to-be-generated | ||
| bacek | hmm... Why we need second RPA? | ||
| pmichaud | that will make indexed access a bit quicker, and it avoids a lot of splicing | ||
| bacek | But it's not RPA... | ||
| (second one). It's Iterator. | 05:00 | ||
| but on each indexed access you have to check that element already generated | 05:01 | ||
| pmichaud | how would @a = (1, 2, 5..10, 15, 20..100) be stored? | ||
| bacek | pmichaud: list of [1, 2, (Range(5..10), 15, Range(20..100)] | 05:02 | |
| pmichaud | ...extra paren, there? | ||
| bacek | oops. Yes | ||
| pmichaud | jonathan and I think that better would be | ||
| [1, 2] and [Range(5..10), 15, Range(20.100)] | 05:03 | ||
| after asking for element [4], we would have | |||
| [1,2,5,6,7] and [Range(8..10), 15, Range(20..100)] | |||
| bacek | so, second RPA is 'RPA of Generators'. Makes sense | 05:04 | |
| pmichaud | right. | ||
| shifting a value simply removes it from the generated list (generating one if needed) | |||
| bacek | It's almost same way, how it implemented in my code. | 05:05 | |
| pmichaud | right, but I don't think we need a '$!next_item' | ||
| Infinoid | japhb: r27975 caused a bunch of warnings for me. should I send you a tarball of my GL headers, or something? | ||
| pmichaud | nor do we need a separate $!iterator | ||
| bacek | we need 'next_item'. What about get_boo/shift combo? | 05:06 | |
| pmichaud | ...? | ||
| purl quietly listens while the crickets chirp | |||
| bacek | 'separate $!iterator' should be 'RPA of generators' | ||
| pmichaud | okay, I'd go for that then. | ||
| japhb | Infinoid: that's never a bad idea. But I just got back from a trip; I need to find out what r27975 *was*. ;-) | 05:07 | |
| pmichaud | essentially they're things that understand 'shift' | ||
| bacek | when we check get_bool we can prefetch next item fromgenerator | ||
| pmichaud | all that means is that we make sure there's at least one element in the 'generated' list. | ||
| Infinoid | japhb: [OpenGL] First cut of parsing OpenGL headers | ||
| pmichaud | get bool is the same thing as exists [0] | ||
| Infinoid | japhb: warning text available on RT #55530 | ||
| japhb | Infinoid: hmmm. Has DietCoke not committed my patch from last week? | ||
| bacek | so, we require, that generator implements 'get_bool' as well | 05:08 | |
| pmichaud | no. | ||
| bacek | how that? | ||
| Infinoid | japhb: I don't know. I do know that every version since has emitted a bunch of warnings. I'll send you my headers in an email | ||
| pmichaud | oh, on second thought yes. | ||
| but most generators do. | |||
| Range does. List does. | 05:09 | ||
| japhb | Infinoid: thank you. | ||
| bacek | pmichaud: ok. Anyway, we can create generic proxy class for generators that don't | ||
| pmichaud | right. | ||
| japhb | But also, can you apply the latest patch on #55228 and see if it fixes your problem? | 05:10 | |
| Infinoid: what platform was this? | |||
|
05:10
tetragon joined
|
|||
| pmichaud | Right now I'm writing 'fail'. | 05:11 | |
| and then we can get try and $! fixed. | |||
| bacek | pmichaud: excellent. | ||
| pmichaud: I tried to figure out, how to handle '$a=try{die}'... Unsuccessfully... | 05:12 | ||
| It require more knowledge about PCT that I have... | |||
| Infinoid | japhb: Linux/amd64 (gentoo) with some fresh git checkout of mesa | 05:14 | |
| japhb | Infinoid: gotcha. Did the latest patch on #55228 help? | ||
| Infinoid | I will check now | ||
| japhb | Infinoid: thanks. | ||
| I'd asked DietCoke to test and commit that patch while I was gone (since it vastly reduced warnings for several people) but it looks like he did not. | 05:15 | ||
| Might have been nervous about committing if I wasn't there to pick up the pieces if things broke .... | 05:16 | ||
| Infinoid | japhb: yes, it does help. the number of warnings is greatly reduced... only 8 left | 05:17 | |
| without the patch, I get pages and pages of them. | |||
| japhb | great. paste the remainder? | ||
| bacek | pmichaud: BTW, #55482 and #55484 more improvements of the List. (min/max/uniq) | ||
| nopaste | "Infinoid" at 75.5.240.108 pasted "japhb: Here's what's left over." (9 lines) at nopaste.snit.ch/13222 | 05:18 | |
| japhb | foomesa?!? WTF is foomesa? | 05:19 | |
| Sheesh. | |||
| OK, I know what to do. | |||
| Infinoid | hell if I know :) | ||
| webcvs.freedesktop.org/mesa/Mesa/in...iew=markup looks a lot like mine. | 05:20 | ||
| shorten | Infinoid's url is at xrl.us/bmr6j | ||
| japhb | Infinoid: Ah. Example on how to write Mesa drivers. | 05:21 | |
| Infinoid | how ... useful for it to install that on production machines. | 05:22 | |
| japhb | NODNOD | 05:23 | |
| dalek | r28224 | chromatic++ | trunk: | 05:25 | |
| : [src] Refactored Continuation PMC's invoke vtable entry, extracting three | |||
| : functions into src/sub.c. This allows the RetContinuation PMC to use two of | |||
| : those functions directly, rather than forcing Continuation to check if it's | |||
| : really a RetContinuation. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28224 | |||
| japhb | Infinoid: OK, I've attached an updated patch to your ticket (I'll point the old tickets to this one). Give it a try. | 05:26 | |
| Infinoid | Looks good, you devious git user you. | 05:27 | |
| Generating OpenGL bindings............................................done. | 05:28 | ||
| japhb | Infinoid: heh | ||
| awesome | |||
| Infinoid | no idea if it builds yet, but it configures nicely | ||
|
05:29
cognominal joined
|
|||
| japhb | Infinoid: give the build a try. IF it works, I'll commit and risk not having gotten Win32 signoff, because this is the third ticket filed on this same warnings issue from various other platforms. | 05:29 | |
| Infinoid | Configures, builds and runs just fine. | 05:31 | |
| the triangle.pir did emit a message about "Failed to initialize TTM buffer manager. Falling back to classic." | |||
| otherwise, I didn't notice any noise at all. | |||
| is the triangle bigger than it used to be? | 05:33 | ||
| japhb | Erm ... shouldn't be. | 05:35 | |
| Infinoid | it's late, I'm probably just remembering it wrong. | 05:36 | |
| japhb wonders what the "TTM buffer manager" is ... some Mesa thing, mayhaps? | |||
| Infinoid | window_width = display_width * parrot_version; | ||
| japhb | heh | ||
| Infinoid | goodnight | ||
| japhb | g'night | 05:37 | |
| committed | 05:38 | ||
| purl | The chicken is involved, but the pig is *committed*. | ||
| dalek | r28225 | japhb++ | trunk: | ||
| : Merge branch 'cognominal-ivan-fix' | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28225 | |||
|
05:49
bacek_ joined
06:03
Zaba joined
06:17
Psyche^ joined
06:21
iblechbot joined
06:37
uniejo joined
06:41
Zaba joined
07:47
Zaba_ joined
07:49
bacek joined
07:51
masak joined
08:14
tetragon joined
|
|||
| cizra | www.parrotcode.org/docs/imcc/imcfaq.html says that Named variables are either local or namespace qualified. Currently IMCC only supports locals transparently. | 08:21 | |
| What does that "transparently" mean? | |||
|
08:28
iblechbot joined
|
|||
| moritz | probably "without further action from the user" | 08:29 | |
|
08:30
IllvilJa joined
|
|||
| cizra | I still don't understand. | 08:43 | |
| Oh. Right. Emphasis on "only". That is, namespace-qualifieds aren't as well supported. | 08:48 | ||
|
09:56
slightlyoff joined
10:17
skv joined
10:18
Ademan joined
10:20
bacek joined
10:41
jan joined
10:42
jan_ joined
|
|||
| bacek | t/spec/S16-filehandles/connect.t................ 4 4 0 0 0 4 | 11:30 | |
| pmichaud, we should remove this test from spectest_regression.. | 11:31 | ||
| It's useless. | |||
| probably S29-num/complex.t too. | 11:34 | ||
| t/spec/S29-str/sprintf.rakudo................... 37 37 0 0 0 37 | |||
| yak... | |||
| all 37 tests skipped... | 11:35 | ||
| jonathan | pmichaud did some work on complex numbers recently, so we should have something in spectest_regression to check what works so far. | ||
| pmichaud | I think it's already there. | ||
| bacek | jonathan, ok, I'll test check it. | ||
| pmichaud | t/spec/S29-num/complex.rakudo................... 129 129 3 0 1 125 | ||
| 3 pass, 1 todo, 125 skip | |||
| the 125 skip will be a lot less as soon as I get -> working in infix position. | 11:36 | ||
| although now that I look at that (what I just wrote) I'm not sure why -> doesn't work already. | 11:38 | ||
| jonathan | Gets parsed as infix:- | ||
| And wants a term, not a > | 11:39 | ||
| pmichaud | but it would need another term in order for that.... | ||
| jonathan | I think. | ||
| pmichaud | and since there's no other term available, it should backtrack. | ||
| jonathan | Yeah, but it doesn't backtrack. | ||
| Oh? | |||
| I didn't think the parser backtracked... | |||
| Apart from in a few cases... | |||
| pmichaud | the operator precedence parser returns the longest complete expression | ||
| jonathan | Oh, OK. | ||
| pmichaud | (at least, it's supposed to.) | ||
| I'll play with that this morning. | |||
| jonathan | But -> isn't known to the operator precedence parser. | ||
| It's only in the grammar.pg | 11:40 | ||
| Cool, would be nice to have fixed. :-) | |||
| pmichaud | -> doesn't have to be known to the operator precedence parser | ||
| all the opp needs to know if that -> doesn't parse as part of a valid expression in operator position | |||
| s/if/is/ | |||
|
11:40
IllvilJa joined
|
|||
| jonathan | OK | 11:42 | |
| I'll leave you, to investigate. :-) | |||
| pmichaud | don't leave me!!!!! er.... OK. :-) | ||
| jonathan | ... | 11:43 | |
| pmichaud | man I have lots of email today. :-| | ||
| bacek | pmichaud, (about S29-num/complex.t) all other tests depends on unpolar(), which not implemented yet. | 11:48 | |
| pmichaud, yak... 3 days ago.. | 11:49 | ||
| pmichaud | I added unpolar(). :-) | 11:50 | |
| even cis() depends on unpolar(). :-) | |||
| masak | what's unpolar()? | 11:51 | |
| pmichaud | convert from polar coordinates to rectangular (in imaginary space) | 11:52 | |
| purl | I don't know how to convert from polar coordinates to rectangular (in imaginary space). | ||
| pmichaud | purl, I do -- use unpolar! :-) | ||
| see S29. :-) | |||
| masak | ok | 11:53 | |
| is 'unpolar' a more clear name than 'rectcangular'? | 11:54 | ||
| it's not too often that things are specified by what they ain't | |||
| pmichaud | yes, 'unpolar' was very unfamiliar to me as well. | ||
| masak | the name is doubleplus-ungood, if you ask me | 11:55 | |
| Zaba_ | polar2rectangular would work out :> | 11:56 | |
| masak | or even 'torect' | 11:57 | |
| or even just 'rect()' | |||
| yes, I think 'rect()' is in the sweet spot | 12:02 | ||
| I'm afraid 'unpolar()' would become very unpopular ;) | |||
|
12:02
Whiteknight joined
|
|||
| dalek | r28226 | Whiteknight++ | gsoc_pdd09: | 12:02 | |
| : [gsoc_pdd09] updating to trunk r28225 | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28226 | |||
| bacek | > say 4.unpolar() | 12:03 | |
| Method 'unpolar' not found for invocant of class 'Int' | |||
| pmichaud | it's only defined on Num at the moment. | ||
| bacek | pmichaud, got it... | 12:07 | |
| bacek still try to understand why Int is not a Num... | |||
| pmichaud | because Parrot doesn't have it that way in the hierarchy | 12:09 | |
| masak | but it should be, right? | 12:10 | |
| pmichaud | I don't know. I haven't investigated that part of the spec. | ||
| bacek | pmichaud, copy-paster unpolar in Int works fine :) | 12:11 | |
| pmichaud | I don't plan to duplicate methods if I can avoid it. | ||
| as things stand now in rakudo, 4.unpolar will probably start working when we get method fallbacks working. | 12:12 | ||
| or when we figure out the relationship between Int and Num | |||
| Whiteknight | "make perl6" just failed for me. Segmentation fault. | ||
| bacek | pmichaud, probably Int is Num... It's DWIM-style | 12:13 | |
| masak | I would sure hope it is | ||
| pmichaud | yes, but I don't think that Int should carry around Num's attributes. | 12:14 | |
| otherwise... what's the point? | |||
| so it's not a simple "Int isa Num" relationahip. | |||
| *relationship | |||
| bacek | Num-to-Int autocoercion is an explicit exception built into the | 12:15 | |
| language. Perl 5 programmars would lynch us if we broke it. But yes, | |||
| it's basically cheating. | |||
|
12:16
tetragon joined
|
|||
| bacek | Guess who :) | 12:16 | |
| (I know that it in backward direction, but I just like this quote) | |||
| pmichaud, pugs says that Int isa Num. | 12:25 | ||
| DietCoke | Nom isa Nom | 12:40 | |
| ... lolcode needs the ... operator, except we can call it nom nom nom. | 12:49 | ||
| DietCoke <- dork | 12:50 | ||
|
12:50
TiMBuS joined
|
|||
| bacek | probably bang bang bang is better name :) | 12:50 | |
| Newly passing tests: | 12:54 | ||
| S29-list/join.t | |||
| S29-list/reduce.t | |||
|
12:54
particle joined
|
|||
| pmichaud | bacek: I'm not saying that we won't fix Int to Num autocoercion, I'm just saying it's not immediately obvious how to do it. | 12:54 | |
| bacek | pmichaud, adding Num as parent of Int didn't brake spectest_regression :) | 12:56 | |
|
12:56
radhios joined
|
|||
| bacek | but probably autocoerce Int-to-Num will work too | 12:56 | |
| pmichaud | bacek: where did you find that quote, btw? | 12:58 | |
| bacek | Larry's mail | ||
| pmichaud | recent email? | ||
| on a mailing list? | |||
| i.e., I'd like to read the surrounding conversation | |||
| bacek | just a sec. I'll find it again :) | 12:59 | |
| groups.google.com/group/perl.perl6....e250dbdafc | 13:00 | ||
| shorten | bacek's url is at xrl.us/bmsmg | ||
| bacek | Jan, 2007 | ||
| pmichaud | thanks. | 13:01 | |
| bacek | what is semantic of '<:'??? | 13:02 | |
| pmichaud | in what context? | ||
| bacek | Int <: Num | 13:03 | |
| pmichaud | oh, I have no idea. | ||
| that's often true for me when looking at things TSa writes. | |||
| it's not a Perl 6 operator. | |||
| original is a very long thread. | 13:05 | ||
| www.nntp.perl.org/group/perl.perl6....26860.html | 13:06 | ||
| shorten | pmichaud's url is at xrl.us/bmsmt | ||
| bacek wants something like xmlschema-0 for perl6... | |||
| It was so easy to implement XQuery compiler when I had full spec... | 13:07 | ||
| s/0/2/ | 13:08 | ||
| www.w3.org/TR/xmlschema-2/type-hierarchy.gif | 13:10 | ||
| pmichaud | (int-to-num) I'm guessing that fallback methods will handle a lot of this for us. | 13:11 | |
| either that or we'll explicitly import certain methods into the Int/Num/Str scopes. | |||
| that's about all I'm prepared to worry about for now. :-) | |||
| (on that topic.) | |||
| DietCoke | (full spec) that is exactly why I concentrated on tcl instead of perl6 for so long. =-) | 13:12 | |
| bacek | yep. Fallbacks should solve all this problems... | ||
| DietCoke, why not Smalltalk? :) | 13:13 | ||
|
13:13
gryphon joined
|
|||
| DietCoke | probably would have been easier, in retrospect. | 13:16 | |
|
13:18
donaldh joined
|
|||
| bacek | afk # sleep... probably... | 13:24 | |
| pmichaud, JFYI, there is few tickets in RT for various List improvements. | 13:25 | ||
| pmichaud | yes, I know. Still need to look at those. | ||
| bacek | pmichaud, ok. | 13:26 | |
| bacek ... need... more... karma... :) | 13:27 | ||
| must sleep | 13:29 | ||
| purl | $bacek->sleep(8 * 3600); | ||
| bacek | Ho. Purl is back | 13:30 | |
| masak | and funny, for once | 13:35 | |
| DietCoke | purl,funny? | 13:36 | |
| purl | i guess funny is at www.denounce.com or at www.pimpdaddy.com or at www.pimpcity.com/humor/underpants.html or [11:09] <Chris-> but can all browsers access perl files.. i expect so or at www.callahanonline.com/ or at www.userfriendly.org/ or www.rahoi.com/2006/03/may-i-take-your-order.php | ||
|
13:41
nnunley joined
13:49
jhorwitz joined
14:00
Khisanth joined
14:04
iblechbot joined
|
|||
| DietCoke | NotFound: IANACP, but shouldn't | 14:06 | |
| + STRING *full_name = 0; | |||
| be | |||
| + STRING *full_name = NULL; ? | |||
| pmichaud | for better C coding style, yes. | 14:08 | |
|
14:09
particle1 joined
|
|||
| DietCoke | NotFound: in general, the patch looks good to me, though. | 14:09 | |
| jhorwitz | DietCoke: started working on tcl registry scripts. getting segfaults. will debug to see whose problem it is. ;-) | 14:13 | |
| DietCoke | me, you, or parrot, neh? | ||
| I have a dynops file. | 14:14 | ||
| particle1 | NotFound: are Parrot_string_free_cstring and *_get_* in the strings pdd, or is this an api change that requires a pdd update? | 14:15 | |
| jhorwitz | DietCoke: i'll make sure that's being pulled in. | ||
| particle | jhorwitz: sorry about yesterday, my phone line went dead and i had to fix it | 14:17 | |
| jhorwitz | np | ||
| pmichaud | jhorwitz: fwiw, rakudo now has 'return' | 14:18 | |
| particle | pmichaud: did you get multivalue return working? | ||
| jhorwitz | pmichaud++ | ||
| pmichaud | not yet. I know how to do it, just want to figure out the appropriate factoring. | ||
| particle also had to rebuild his computer, so has lost a bunch of irc history | 14:19 | ||
| Whiteknight | no he didnt, and he refused to use my naive and terribly inefficient methods to do it | ||
| particle | but now #parrot is logged, so nbd | ||
| pmichaud | :-) | ||
| particle | Whiteknight: how rude! | ||
| Whiteknight | i know, right? | ||
| jhorwitz | particle: bad day at the office, eh? | ||
| pmichaud | yes, I'm wanting to avoid creating a hash/array for every return operation :-) | ||
| particle | jhorwitz: to say the least... | ||
| particle is installing parrot development dependencies atm | 14:20 | ||
| particle thinks pmichaud is lazy | |||
| PerlJam | having return means we can "easily" get to gather/take I think. (since take is a fancy return) | ||
| pmichaud | it's one of my vices and virtues, yes :-) | ||
| Whiteknight | which synopsis is gather/take defined in? | 14:21 | |
| PerlJam | Whiteknight: S04 I think | ||
| Whiteknight | i like to keep up on perl6, my interest in that is what lead me to parrot in the first place | 14:22 | |
| pmichaud | I haven't quite figured out gather/take yet. | ||
| PerlJam | It's the same one that talks about "contend" (and is the only reference to contend that I can find anywhere) | ||
| pmichaud | > for 1..10 -> $a { print "$a "; }; say "done"; | 14:23 | |
| 1 2 3 4 5 6 7 8 9 10 done | |||
| yay. | |||
| dalek | r28227 | pmichaud++ | trunk: | 14:24 | |
| : [pge]: | |||
| : * Fix backtracking bug in OPTable. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28227 | |||
| PerlJam | pm: I thought I understood gather/take until the description was reformulated to talk about Captures and such. Now I'm fairly sure I don't quite understand them anymore. :) | 14:25 | |
| But most of the magic seems to be in take and take is a fancy return AFAICT | |||
| Whiteknight | From what I am gathering, the capture is implied based on the arguments you pass to take | 14:26 | |
| PerlJam | Whiteknight: was that a pun? :) | ||
| Whiteknight | ...not intentionally... | ||
| PerlJam | Whiteknight: the last time I looked at it, it seemed the take is a no-op in a way except that it affects the return value of the gather. i.e. $a = $b; is exactly the same as $a = take $b; except that the later adds a Capture of $b to the return value of an enclosing gather. | 14:29 | |
| jonathan | pmichaud: That patch, looks like it was more frustrating to work out why was needed, than to write. ;-) | ||
| PerlJam | but what happens when you call take without an enclosing gather? I have no idea. | ||
| pmichaud | jonathan: you would be entirely correct. | 14:30 | |
| jonathan | pmichaud++ # finding the bug | ||
| masak | PerlJam: that would be an error, methinks | ||
| PerlJam | and what if you go gather { foo(); }; sub foo { ... take $bar } ? | ||
| Whiteknight | PerlJam, okay, I can see that | ||
| jonathan | Does that mean my $x = -> $a { say $a } works now? | ||
| masak | PerlJam: also, I'd not describe take as a no-op, since it's lazy, so take works a bit like yield in ruby | 14:31 | |
| pmichaud | was that not working before? | ||
| (I don't know if it works now.) | |||
| masak | PerlJam: that works. gather is a dynamic construct | ||
| jonathan | It wasn't; I thought that was the bug you were chasing, actually. | ||
| masak | I was on #perl6 when they decided that years ago | ||
| pmichaud | well, for 1..10 -> $a { say $a; } works now and didn't before. | ||
| my $x = -> $a { say $a; } doesn't work | |||
| jonathan | Ah. | 14:32 | |
| plzicanhazfix? ;-) | |||
| pmichaud | I don't know why that one would be failing. | ||
| oh, yes I do. | |||
| Yes, that's a different bug from the for 1..10 -> one | 14:33 | ||
| fixing my $x = -> $a { say $a; } will require a bit of OPTable refactoring. | |||
| (the difference is the use of -> in term position versus operator position) | |||
| jonathan | Ah, ok | 14:34 | |
| If it's a pain to do now, I'm not in a huge hurry for it. | |||
| pmichaud | it's a small pain. | ||
| I was thinking the two were the same bug, but apparently not. | |||
| PerlJam | masak: that feels wrong to me for some reason. | 14:35 | |
| masak | PerlJam: the dynamicness? | ||
| PerlJam | masak: yes. | ||
| masak | the feeling will pass, I hope | ||
| it's wonderful! | |||
| pmichaud | I agree that 'take' sounds more like .yield than return. | ||
|
14:35
Zaba joined
|
|||
| pmichaud | but it's essentially the same concept. | 14:36 | |
| PerlJam | pmichaud: except that yield suspends execution and take doesn't, it just grabs a Capture of its args. | ||
| masak | PerlJam: take essentially suspends execution, yes | ||
| pmichaud | PerlJam: except that I think that gather/take is lazy, which means we don't take until we need it. :-) | ||
| masak | PerlJam: more correct to say that a request to a gather/take instigates execution :) | 14:37 | |
| PerlJam | gather/take,contend,async,lazy are all "do-like" things that all seem underspecced to me (in that they evoke more questions than answers :) | 14:38 | |
| masak | PerlJam: in such a case, questions are exactly what is needed, so ask away | 14:39 | |
| PerlJam | well, I'm only going by memory rather than the spec, so I might just be way off base. | 14:40 | |
| masak | true. | ||
| pmichaud | actually, some of us are noticing that questions on p6c are taking an awfully long time to get responses/answers. | ||
| PerlJam | pm: so answer them faster! ;) | ||
| pmichaud | pj: in many cases I'm the one asking the questions. :-) | 14:41 | |
| PerlJam | I've noticed. | 14:42 | |
| But if Larry can talk to himself on mailing lists, you can too | |||
| pmichaud | ...except I don't do language design. :-) | ||
| PerlJam | Larry has the toughest job. | 14:44 | |
| masak | indeed | 14:51 | |
| maybe he's unusually busy right now | 14:52 | ||
| DietCoke | another con coming up shortly. | ||
| DietCoke hits the mailing list. | 14:53 | ||
| DietCoke finds that the pdd25 branch is still horked. | 14:55 | ||
| pmichaud | oh, I do believe he's busy, yes. | ||
| afk, errands. | |||
|
15:03
Whiteknight joined
15:11
jan_ joined
|
|||
| tewk | pmichaud: Is there a definition of \\w or <wb> anywhere? | 15:11 | |
|
15:18
Zaba_ joined
15:25
rdice joined
|
|||
| particle | tewk: like a spec, or in the code? | 15:31 | |
| particle tries to get his env set up faster for parrot develoment | |||
| tewk | particle: either, I guess. I have a rule for builtin types that includes "int" however it matches against "int32_t", which it shouldn't | 15:32 | |
| particle | ah, you need to anchor the end of word | 15:33 | |
| tewk | I'd like to put <?wb> at the end of the builtin_types rule | 15:34 | |
| particle | take a look at languages/squaak/src/parser/grammar.pm:191 | 15:35 | |
| token keyword { ['and'|'or']>> } # note the anchor | |||
| tewk | I thought <?wb> and >> where the same but I'll try >> | 15:36 | |
| particle | i believe they are the same | ||
|
15:44
davidfetter joined
|
|||
| DietCoke | huh. I'm on the smolder-users mailing list. | 15:44 | |
| nifty: I am shoving all the mail from my desktop into my gmail account. I am now seeing current followup RT messages having history that wasn't there a week ago before i started this. | 15:46 | ||
|
16:06
Theory joined
|
|||
| tewk | Who wants to write me a chomp opcode? | 16:08 | |
| confound | chompcode | 16:09 | |
| DietCoke | substr not good enough for ya? =-) | 16:10 | |
| ah, chomp, not chop. | |||
| I could whip up a dynop for you. | |||
| tewk | I could really use it, I just don't want to get off task. | 16:11 | |
| DietCoke | if this were tcl, I'd put it in my pre-existing ops file. | ||
| if you can get another committer to say we need it in core, I'll add it there. =-) | 16:12 | ||
| tewk | You write the op, I'll get it in as a core op, unless some one objects. | ||
| particle | tewk: you need an opcode, or can you use a pir lib? | ||
| tewk | There are experimental core ops, it could be a pir lib too. We have substring, chopn as opcodes. chomp seems like a primitive string op. | 16:13 | |
| It is definitely usefull as a pir debugging aid. | |||
| particle | i think it exists today in pir | ||
| that's why i ask | |||
| tewk | ahh, where | 16:14 | |
| purl | it has been said that ahh, is there a var that holds the total number of parms ? | ||
| particle | i don't have ack installed yet | ||
| probably under runtime/parrot/library | |||
| NotFound | runtime/parrot/library/String/Utils.pir | ||
| tewk | I still think it should be an op, but pir would work for the time being. | ||
| DietCoke | hokay. | 16:15 | |
| tewk | I'm hacking PGE to provide ugly trace functionality, but I can probably find a place to generate the pir include. | ||
| offtopic, but tewk loves git. I won't ever go back. | 16:16 | ||
| confound too | |||
|
16:17
Zaba joined
|
|||
| NotFound | Someone bored can try my last patch in #44499 and do some benchmarking? | 16:17 | |
| tewk | rebasing is so easy, backingup local branches to arbitrary locations is easy too. | ||
|
16:18
cjfields joined
16:24
particle1 joined
|
|||
| particle1 | jhorwitz, DietCoke: how's the heat? | 16:27 | |
| jhorwitz | brutal | ||
| particle1 | SEATTLE -- A foot of new snow is expected Monday night for the west slopes of the north and central Cascades, the National Weather Service said in a heavy snow warning issued Monday morning. | ||
| that's 40mi from here | |||
| particle | we had ski resorts open on memorial day | 16:28 | |
| unreal. | |||
| jhorwitz makes an offering to his A/C compressor | |||
| TimToady | maybe I can afford to fix my A/C this year... | 16:30 | |
| pmichaud: I would prefer that language design questions show up in p6l, which I tend to read more frequently than p6c | 16:32 | ||
| where frequently is currently defined as less infrequently... :/ | |||
|
16:43
paggas joined
|
|||
| DietCoke | it's 90 here today. | 16:44 | |
| TimToady | was 96 here yesterday | 16:45 | |
| particle | it was 59 here yesterday | ||
| DietCoke | TimToady: would it help if there were a queue of some kind that had a list of "things that need larry"? or is the mailing list fine? | ||
| whatever's easiest for you, we can adapt. | 16:46 | ||
| TimToady | p6l is best for that | ||
| if I don't answer something there it's usually because I'm still thinking about it | |||
| as opposed to not having noticed it | |||
| particle | that's no excuse! | ||
| :P | |||
| TimToady | well, it's getting to the point where all the easy questions have been answered, so all you ever ask is hard questions :P | ||
| DietCoke | "why didn't you invent tcl!?" | 16:47 | |
| TimToady | John beat me to it | ||
| particle | let's hope you beat john to perl 6 | 16:48 | |
| DietCoke | bah, they're coming up on tcl 9! | ||
| is just glad we didn't go the sun numbering route. | 16:49 | ||
| cotto-work | NotFound, what kind of benchmark were you hoping for? | ||
| it looks like make && make perl6 are fine with the patch | |||
| s/are/works/ | 16:50 | ||
| particle | i had no idea parrot was born of al qaeda: search.cpan.org/~simon/parrot-0.0.1/ | ||
| NotFound | cotto-work: forget it, I think now that the speedup I was seeing was an illusion. | ||
| purl | NotFound, I didn't have anything matching it, i think now that the speedup i was seeing was an illusion | ||
| cotto-work | done | ||
| NotFound | But anyway, it avoids a lot of leaking. | 16:52 | |
| DietCoke stares blankly at particle. | 16:54 | ||
| (to be clear, I obviously don't think that just because they have a higher release number that they're better. =-) | 16:56 | ||
| cotto-work | funny that purl doesn't ignore answers addressed to other irc users | 16:57 | |
| DietCoke | didn't Andy define a macro for string comparison? hurm. | 17:01 | |
| Andy | STREQ and STRNEQ | ||
| rather than using strcmp() as a boolean | |||
| DietCoke | ah, there they are.... and here they are here. | 17:02 | |
| ah. those are just for cstrings? | 17:03 | ||
| (for parrot stuff, I can use string_equal, etc?) | 17:04 | ||
| if (string_equal(a,b)==0) seems like bad C form, though. | |||
| DietCoke thinks that if (! string_equal(a,b) ) is more idiomatic, yes? | 17:05 | ||
| NotFound | DietCoke: agree. | ||
| TimToady thinks strEQ is best :) | 17:06 | ||
| DietCoke | NotFound: if you're bored, you could patch a great deal of src/pmc/*.pmc with that style update. | 17:09 | |
| particle | cage ticket? | 17:10 | |
| NotFound | DietCoke: What update? | ||
| purl | update is fine it's just that people don't apply the updates or the sql-ism for it | ||
| DietCoke | NotFound: nevermind. string_equal has return values like strcmp, so that usage is better. ah well | 17:11 | |
| DietCoke thinks we should change string_equal to just return true or vfalse, there's always string_compare if we want that return value, no? | 17:12 | ||
| NotFound | We don't have discussed yet that function name? | 17:13 | |
| DietCoke | NotFound: I can't parse that send. | ||
| on a different tack, what the hell benefit does the ATTR declaration give us? =-) | |||
| NotFound | The name is completely mileading with the usage. | 17:14 | |
| DietCoke throws away this patch to tcl. | |||
| Infinoid | NotFound: oh, I've noticed that too. string_equal implies that it should return true when the strings are equal, but it does the opposite. | 17:15 | |
| NotFound | if ((s1 == s2) || (!s1 && !s2)) ---> What? | ||
| This is not the same as (s1 == s2) ? | 17:16 | ||
| DietCoke | if the strings are equal or they're both null... wouldn't they be equal if they were both null? | ||
| seems like. | |||
| particle | no | ||
| not all OSes treat null comparison as eq, do they? | 17:17 | ||
| s/eq/==/ | |||
| i'd have to check the c89 spec | |||
| Infinoid | uh, they should | ||
| I think its a compiler thing, not an OS thing | |||
| particle | oh, yeah, maybe compiler | ||
| that's what i think i meant. Infinoid++ | |||
| could be a pessimization, check 'blame' | 17:18 | ||
| DietCoke | if it's there for a reason, it should be commented. | ||
| Infinoid | "Two null pointers, converted through possibly different sequences of casts to pointer types, shall compare equal." -- rm-f.net/~orange/devel/specificatio...draft.html | ||
| (whether that's authoritative or not, I dunno, but it matches my expectations.) | 17:19 | ||
| pmichaud | Parrot's "string_equal" function is totally misnamed. | 17:20 | |
| NotFound | More questions: a null STRING * is equal to an empty string? The code says yes. | 17:21 | |
| pmichaud | string_equal returns 0 when the strings are equal. But apparently it's been like that since ~r4000 or so. | ||
| DietCoke | Seems like a good cage task. | 17:22 | |
| Infinoid | it would seem a lot more intuitive to call it "Parrot_strcmp" or somesuch | ||
| NotFound | And to make the thing more funny, it returns 1 in both null-non null cases. | ||
| DietCoke | HA! | 17:23 | |
| TimToady | anybody know if there's going to be hackathonery around OSCON? | ||
| pmichaud | TimToady: if there is, it will be the saturday following. | ||
| particle | aye | ||
| pmichaud | I haven't heard the story for sunday yet. I've reserved a room for Sunday night just in case (although my flights are currently booked for Sun also -- but those can be moved.) | 17:24 | |
| NotFound | But using strcmp style when we are interested only in equality is a vaste of time. | ||
| TimToady | Glo is trying to figure out hotel dates... | ||
.oO(strEQ) |
|||
| nopaste | "particle" at 98.232.7.104 pasted "win32+msvc svn head test failure report :(" (80 lines) at nopaste.snit.ch/13223 | ||
| pmichaud | the string_equal(a,b) == 0 test is used quite a bit in Parrot. | 17:25 | |
| I agree that something like strEQ would be worthwhile, as longas there's not too much confusion with STREQ | |||
| when I first saw string_equal(a,b) == 0 (about 10 days ago) my initial thought was "What the ...?!?!" | 17:26 | ||
| NotFound | But is a PARROT_API function, it must be prefixed. | ||
| pmichaud | TimToady: okay, I'll start posting my language+spec interpretation questions to p6l | 17:27 | |
| tewk | With a name like string_equals one would think the result would be a boolean. instead we get a inverted boolean result. | ||
| pmichaud | (instead of p6c) | ||
| NotFound | Yes, to more confussion it does nor work really like strcmp: return 1; /* we don't care which is bigger */ | ||
| pmichaud starts writing his #parrotsketch report. 60 mins for those keeping score. | 17:30 | ||
| particle can't build perl 6 | 17:31 | ||
| NotFound | pdd28_strings reflects the current state? | ||
| pmichaud | pdd28_strings reflects the wannabe state. | ||
| i.e., it's a design spec but not yet implemented (iiuc) | 17:32 | ||
| NotFound | Then the current implementation of string_equal is broken, IMO. | ||
| strlen - The length of the string, in bytes. {{NOTE, not in characters | |||
| So the string can be character-equal and string_equal report as not equal. | 17:33 | ||
| Tene | #ps in 1 hour? | 17:34 | |
| particle | affirmative | 17:35 | |
| NotFound | And the =item says: Compares two Parrot strings, performing type and encoding conversions if necessary. | ||
| But the checked conversion is done *after* length comparaison. | 17:36 | ||
|
17:39
barney joined,
Whiteknight joined
17:50
Zaba joined
17:56
Whiteknight joined
17:58
wknight8111 joined
18:00
donaldh joined
|
|||
| barney | Anybody knows have variable name are aliased in PAST. I tried creating an node with :pasttye('bind') and :name('infix::=') but that acted like a value assignment | 18:06 | |
| pmichaud | :pasttype('bind') means the :name isn't going to be used for anything. | 18:07 | |
| a 'bind' node expects a PAST::Var as its first child, and some other expression as its second | |||
| the first child is then bound to the second | 18:08 | ||
|
18:09
purl joined
|
|||
| barney | And how do I distinguish between assignment and aliasing ? | 18:09 | |
| pmichaud | assignment is done using an 'assign' or 'copy' opcode | 18:10 | |
| i.e., replace an existing PMC with a new value. | |||
| tewk | pmichaud: I've got myself in a pge corner again. I added >> to builtin_type so int32_t wouldn't parse as int. int32_t now parses but int doesn't. I take out the >> and int parses but not int32_t. | 18:12 | |
| particle | umm, huh? | 18:13 | |
| tewk: you have included 'int32_t'|'int' ?? | 18:14 | ||
| NotFound | Again on strings, the string_substr function is called by several opcodes with unchecked string register values, but does not allow a null string argument. | ||
| particle | notfound: these items would all make excellent cage tickets | 18:15 | |
| "this looks funny, what should it be converted to?" type things | |||
| tewk | No there is a rule for parsing builtin types (int) and a different rule for parsing typedefed types. | 18:16 | |
| particle | tewk: where's the code? | ||
| purl | well, the code is "THE CODE, I NEED THE CODE!!" | ||
| NotFound | particle: I think that deciding if to change the signature of public api functions is not a simple cage cleaning. | 18:18 | |
| particle | notfound: yeah, i guess you're right. but they're excellent list questions or rt tickets | 18:19 | |
| much better there than over irc, because more folks will be able to respond | |||
| NotFound | Agree. | ||
|
18:21
chromatic joined
|
|||
| moderator | Parrot 0.6.2 "Reverse Sublimation" Released | parrotcode.org/ | 6/661 new/open tix | logged in irclog.perlgeek.de/parrot/today | 18:22 | |
| NotFound | I think will be better to completely drop the nonnull parameter usage. It's almost impossible to check his correct usage from jit. | 18:22 | |
| barney | After binding, with pasttype('bind'), a Past::Var $a to a Past::Var $b shouldn't $a change when $b is changed? | 18:24 | |
| DietCoke | questions can also go to the tracking with [RFC] in the subject. | 18:25 | |
| chromatic | NotFound, did you ever send in a CLA? | ||
| DietCoke | PS in 5. | ||
|
18:26
Ivatar joined
|
|||
| pmichaud | barney: depends on how $b is being changed. If $b is rebound, that doesn't affect $a. | 18:26 | |
| i.e., $a still remains bound to whatever $b was bound to before the rebind | |||
| NotFound | chromatic: not yet, I expect to send it this week. | ||
| pmichaud | NotFound: Send it in! You may already be a winner! | ||
| (probably only makes sense in the U.S.) | 18:27 | ||
| DietCoke | ... if there. =-P | ||
| barney | pmichaud: Yes, $b is rebound. That explains it. | ||
| DietCoke | (me does get it, just poking. =-) | ||
| pmichaud | #parrotsketch on now (for those who are interested) | 18:35 | |
|
18:36
Zaba joined
18:41
Zaba_ joined
|
|||
| DietCoke | pf-proposals TV shield distributor wanted | 18:50 | |
| Tene | DietCoke: how urgently do you care about the ATTR stuff? I just read the mails about it. | 18:51 | |
| DietCoke | tene: meh. | ||
| I care more about the HLL stuff. | 18:52 | ||
| chromatic | It's probably 90 minutes of work. | ||
|
18:54
Zaba joined
|
|||
| DietCoke | DOOOO it. | 18:57 | |
|
19:01
allison joined
|
|||
| Tene | Maybe I'll try to finally churn through the builtins in the class hierarchy. | 19:02 | |
| for cardinal | |||
| pmichaud | afk | 19:03 | |
| Whiteknight | allison, question for you | 19:04 | |
|
19:04
cognominal joined
|
|||
| allison | whiteknight: yes? | 19:06 | |
| Whiteknight | would it be worthwhile, perhaps in the distant future, of turning the GC into a PMC? | ||
| PerlJam | Whiteknight: and then the GC and collect itself? :) | ||
| Whiteknight | well, the scheduler is a PMC now, which is motivation for the question | 19:07 | |
| allison | whiteknight: I'm trying to think of the possible benefits... | ||
| Whiteknight | plus, we would be able to hot-swap GCs during run time, convert GC-related opcodes to PMC methods, etc | ||
| PerlJam | s/and/can/ weird brain-o there | ||
| allison | GC at the moment is a pile of function pointers, and some state data | 19:08 | |
| but, it's a different set of function pointers than the standard vtable set | |||
| Whiteknight | "pile of function pointers" -> methods or vtables | ||
| allison | aye | ||
| Whiteknight | true, it would require a little fudge | ||
| allison | so it's definitely conceptually close to an object | ||
| Whiteknight | I'm mostly thinking about testing, I'm looking for interfaces that would let us look into the GC for testing | 19:09 | |
| allison | I think the only benefit of making it a PMC would be related to reclaiming the memory it uses, but there's only on GC "object" for each interpreter | 19:10 | |
| Whiteknight | Anyway, this is a long way off in any case, definitely post-1.0. I could leave a few openings to prepare for it though | ||
| true, but different compilers might like different GC cores, and we could hot-swap on an eval | |||
|
19:10
Zaba_ joined
|
|||
| allison | definitely keep it in mind, especially when thinking about respecting the encapsulation boundaries of the GC | 19:11 | |
| that'll give us cleaner code, even if the GC always remains as a unique kind of "object" | |||
| PerlJam | It also sounds like you could have a GCed form of "shared memory" between interpreters. | ||
| Whiteknight | okay, thanks for the feedback, this isn't anything i'm going to try any time soon | 19:12 | |
| cotto-work | allison, will #parrotsketch be at the same time next week? | 19:13 | |
| PerlJam | you guys could do #ps in person if everyone goes to yapc :) | 19:14 | |
| allison | cotto-work: we didn't make a final call in the meeting, we often skip the weekly meetings in the middle of conferences | ||
| cotto-work | good to know | ||
| particle | oops, missed parrotsketch | ||
| particle notices tewk missed it too :( | |||
| DietCoke | Executive decision, no PS. | 19:16 | |
| allison | okay, no PS next week | ||
| DietCoke | I would like to see a writeup to the list of "what happened in parrot at yapc", though. | ||
| Tene | Fine, I'll just hold #ps without you guys! | ||
| cotto-work struggles to avoid executed parrot jokes | |||
|
19:19
Zaba joined
|
|||
| tewk | tewk: was there just quiet. I read parrotsketch religiously | 19:20 | |
| particle | tewk: you're supposed to report your weekly soc status there | ||
| tewk | Will do, last week was a little slow. I've been spending my time fighting with PGE. | 19:25 | |
| wknight8111 | last week was slow for me too. I've been fighting with comcast | 19:29 | |
| particle | why don't you two let comcast and pge fight it out? | 19:33 | |
| DietCoke finds noodles that have 0 calories. | 19:44 | ||
| ... that's a lot of fiber. | |||
|
19:50
NotFound joined
20:12
sjansen joined
|
|||
| tewk | pmichaud: ping | 20:17 | |
| nopaste | "tewk" at 155.97.237.62 pasted "PGE >> troubles" (47 lines) at nopaste.snit.ch/13226 | 20:20 | |
| tewk | particle: I have a diff you can look at, but the above nopaste is a smaller illustration of my problem. | 20:22 | |
| particle | tewk: why use a rule and not a token? | 20:23 | |
| for builtin_type? | |||
| avar | How is "$builtin_type <ws> >>" supposed to match "int Oid;" ? | 20:25 | |
| tewk | I guess I could add an explicit <ws> between unsigned and int. | ||
| avar thats my problem! Thanks. | |||
| so should I write <builtin_type>>> or move the >> inside builtin_type and make builtin_type a token. | 20:26 | ||
| particle | yes | ||
| tewk | the latter I take it. | ||
| particle | i'd make it a token, and put >> inside | ||
| tewk | I had >> inside to start with. I made it a rule because of the whitespace between <signed> and int, but I guess I can add that <ws> explicitly. | 20:27 | |
| Going to try it. | |||
| Works avar++ particle++. | 20:29 | ||
| particle | use <.ws> you don't need to capture it | ||
| tewk | I wasted half a day on that one. | 20:30 | |
| avar | That should teach you to enslave irc people to write your code for you | ||
| tewk | My problem is that I write serious PGE code once every six months and I forget everything after a month of not using it. | 20:34 | |
| particle | yeah, that is a problem | 20:35 | |
| pmichaud | file an rt ticket :-) | ||
| particle | to:parrotbug@parrotcode.org\\nsubject:write more pge\\n\\ndear self... | 20:36 | |
| NotFound | Maybe is better to forget all, that way you can learn the changed syntax without interferences X-) | ||
| particle | bank & | 20:37 | |
| tewk | When things click in PGE, it is one of the most productive tools I've ever used. | 20:40 | |
| Tene | I've never really tried using anything else for parsing. | 20:43 | |
| much. | |||
|
20:44
barney joined
|
|||
| tewk | There are a lot of cool parsing tools/projects out there. Very few are maintained at production quality over time. | 20:47 | |
|
20:56
Zaba_ joined
|
|||
| tewk | How do I do a charcter class in PGE these days that accepts an X or a x? <[xX]>? | 21:03 | |
| pmichaud | yes. | 21:04 | |
|
21:07
davidfetter joined,
slightlyoff joined
21:12
sjansen joined
|
|||
| tewk | I just parsed 4880 line c program including system headers and it only took 1:30 :). | 21:18 | |
| Infinoid | ooo | 21:20 | |
| DietCoke | if I have a macro helper(.foo), and invoke it like .helper('foo'), is there a way to get that to create a named pmc called helper_foo ? | 21:25 | |
| (I'm try to remove a bunch of boilerplate that looks up something in another namespace and provides a local pmc you can use to invoke it.) | 21:31 | ||
| tewk | I'm parsing a 8000 line program and spending all my time in gc :( | 21:35 | |
| 150m RSS has been running for almost 10 minutes. | 21:36 | ||
| Tene | Hm. It might be fun to add Role support to cardinal, even though afaict it doesn't exist in ruby. | ||
| tewk | ruby has mixins, which are similar to roles. | 21:37 | |
| chromatic | gack | ||
| Tene | Similar, eh? | 21:38 | |
| Tene reads. | |||
| jonathan | You can implement mix-ins with inheritance. | ||
| chromatic | "When I suggested roles, I can tell you that I did not have mixins in mind." | ||
| jonathan | :-) | 21:39 | |
| chromatic | Nor interfaces. | 21:40 | |
| Tene teach again bbiab. | |||
| jonathan | Sure, but roles can be used to provide both of those too. | 21:41 | |
| tewk | Could be a bug in my code as well, but I'm in GC a lot. | ||
| chromatic | You can drive in nails with a dull rock, but that doesn't make it a substitute for a hammer. | 21:42 | |
| Not a *good* substitute that is. | |||
| tewk, your app should spend 25-40% of its time in GC. | 21:45 | ||
| NotFound | Adding roles to RPG will be great X-) | ||
| tewk | Well its still going so it might a bug I've introduced. | 21:46 | |
| cotto-work | chromatic, is that typical of CG-ed (dynamic) languages? | ||
| s/CG/GC/ | |||
| Whiteknight | I would hope it would be towards the low end of that count, and possibly further then that | ||
| chromatic | 10% is more reasonable. | 21:47 | |
| tewk | Its typical of unoptimized runtimes (parrot) and naive GC implmentations. | ||
| chromatic | Our sweep is very inefficient, and global stop the world mark and sweep is somewhat inefficient. | ||
| Whiteknight | for applications that aren't too memory intensive, GC should be negligible | ||
| chromatic | Also for long-running applications, where there are many small allocations. | ||
| (In that case, avoiding memory fragmentation is a benefit.) | 21:48 | ||
|
21:59
IllvilJa joined
22:01
Limbic_Region joined
22:12
Khisanth joined
|
|||
| tewk | chromatic: something must be leaking somewhere, my parser is making progress but slowly. | 22:26 | |
| What can I do to profile it or provide more information? | 22:30 | ||
| chromatic | If you can pare down the parse file to something that runs in 30 seconds or so, you can run callgrind on the parse and see what happens. | 22:32 | |
| A few minutes with kcachegrind should show some interesting data. | |||
| This presumes you're on a platform with valgrind and kcachegrind. | |||
| tewk | It starts out fast and progressively gets slower. | 22:35 | |
| chromatic | We should be able to see trends though. | 22:36 | |
| The problem with an O(2n) GC (and yeah, lots of handwaving to get it there) is that it gets expensive as n goes up. | 22:37 | ||
| ... but it's never *not really* expensive. | |||
| So it should show up in any profile that does something useful. | |||
| tewk goes to try and find a ~30 second file to parse | 22:38 | ||
|
22:40
cjfields joined
|
|||
| chromatic | 15 might be better. I've been using the Rakudo actions.pm file for profiling these past few months. | 22:40 | |
| It takes about 10 minutes to run a callgrind profile, which isn't too bad. | |||
|
22:46
chromatic joined
23:09
Eevee joined
23:28
ank joined
23:33
Eevee joined
23:44
TiMBuS joined
23:45
grim_fandango joined
23:57
Eevee joined
|
|||