|
Parrot 0.6.2 "Reverse Sublimation" Released | parrotcode.org/ | 6/661 new/open tix | logged in irclog.perlgeek.de/parrot/today Set by moderator on 10 June 2008. |
|||
| DietCoke | is there any pir syntax to call something directly from another namespace? | 00:01 | |
|
00:06
donaldh joined
|
|||
| jonathan | DietCoke: Not that I know of; you need to look it up and then $P0(...) | 00:06 | |
|
00:07
Zaba joined
|
|||
| jonathan sleeps | 00:09 | ||
|
00:09
AndyA joined
00:13
bacek_ joined
00:14
bacek_ joined
|
|||
| DietCoke | ... you can't use [] in a macro!? | 00:17 | |
| DietCoke cries. | |||
| (oh, right, this is why I haven't hacked on tcl in ages. =-) | |||
| (... because I keep making wild claims about things that aren't true?) | 00:20 | ||
|
00:25
Whiteknight joined
|
|||
| Whiteknight | what is qpsmtdp? | 00:43 | |
| dalek | r28228 | coke++ | trunk: | 00:47 | |
| : [tcl] Delete unused file. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28228 | |||
|
00:53
chromatic joined
00:58
Whiteknight joined,
bacek__ joined
01:02
rdice joined
|
|||
| DietCoke | hey,c. | 01:13 | |
|
01:15
gmansi joined
|
|||
| bacek__ | morning... | 01:20 | |
| chromatic | pong | 01:25 | |
| DietCoke | you get my cell? | 01:32 | |
| ohloh-- | 01:41 | ||
| tewk | chromatic: tewk.com/nci.callgrind.out | 02:12 | |
| I ran it without any special commandline parameters | 02:13 | ||
|
02:15
kid51 joined
02:21
particle1 joined
02:22
Eevee joined
02:38
kid51 joined
02:46
schobes joined
02:47
schobes left
02:53
grim_fandango joined
|
|||
| chromatic | tewk, a lot of bsr calls. Those can get a little expensive. | 03:09 | |
| 36% of all GC runs are due to those. That's probably something worth optimizing in your grammar. | |||
| Looks like 20% of all GC runs are due to get_string calls on PMCProxy. | 03:10 | ||
| 90% of those are getting object attributes, which I'd like to make somewhat cheaper. | |||
| Another ~10% of GC runs come from calling name on Object PMCs. | 03:11 | ||
| Looks like 3% of the immediate runtime costs come from converting String PMCs to STRINGs in the calling conventions. | 03:12 | ||
| Avoiding that could get you 5-7% improvement. | 03:13 | ||
| My (informed) guess is that you have a lot of backtracking in your grammar, and a couple of careful optimizations there could speed things up significantly. | 03:15 | ||
|
03:23
tetragon joined
03:39
petdance joined
03:54
bgeron joined
|
|||
| pmichaud | (backtracking grammar) -- yes, while tracking down a bug in PGE earlier today, I noticed quite a few bsr calls that I think we could improve on | 03:57 | |
| also, things will be *much* better when we have protoregexes and ltm | 03:58 | ||
| because we can eliminate a ton of branches and backtracking | |||
| chromatic | If you want another speedup in Rakudo parsing, fix a couple of those easy bsrs. | 04:01 | |
| pmichaud | yes | 04:02 | |
| currently each alternation in rules stores another backtrack point (bsr) | |||
| at least, I *think* that's what happening, based on the trace I did | |||
| so, an alternation with five branches ends up with four bsrs, where only one (at a time) is really needed. | 04:03 | ||
| with protoregexes we can eliminate quite a few of those alternations | |||
| but we can also generalize alternation to be a list operator instead of binary | 04:04 | ||
| chromatic | If any of those are an hour or less of work, you could save a fair amount of amortized development time. | 04:06 | |
| (The rules change when pdd25cx merges though.) | |||
| pmichaud | protoregexes are definitely more than an hour. Fixing Alt may be O(hour) | ||
| what changes in pdd25cx merge? | |||
| chromatic | There's no bsr/Stack_Chunk_t mess in pdd25cx. | 04:07 | |
| So the GC characteristics of backtracking have changed somewhat. | |||
| pmichaud | ah, yes. But what we have instead is a bit heavier, so avoiding bsrs (or their replacement) is an even bigger win, I should think | ||
| at any rate, I'm sure there will always be grammars that take the alternation approach instead of the protoregex approach, so this is a particularly useful optimization to add. | 04:09 | ||
| chromatic | It's a good policy in general, but I'm not going to guess until I measure it. | ||
| pmichaud | I was a bit surprised to see strings of 11 or so bsr's in a row. :-) | ||
| chromatic | That's not good. | 04:10 | |
| pmichaud | anyway, that'll be a good project for tomorrow. far too many interesting things to work on these days :-) | 04:12 | |
| and I need to write some journal posts. | |||
| chromatic | Me too. | 04:14 | |
| dalek | r28229 | chromatic++ | trunk: | ||
| : [lib] Fixed a memory leak in isa_hash initialization for PMCs; | |||
| : parrot_new_hash() allocates Hash memory already, so there's no need to allocate | |||
| : it here. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28229 | |||
| pmichaud | afk for a while | 04:17 | |
| dalek | r28230 | chromatic++ | trunk: | 05:17 | |
| : [src] Changed several runtime constant strings to compile-time constant strings. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28230 | |||
|
05:48
Zaba_ joined
05:53
Eevee joined
06:00
donaldh joined
|
|||
| dalek | r28231 | chromatic++ | trunk: | 06:12 | |
| : [PDDs] Cleaned up PDD formatting errors from the codingstd tests. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28231 | |||
|
06:15
Eevee joined,
uniejo joined
06:16
Psyche^ joined
06:36
Eevee joined
06:43
Zaba joined
06:47
Zaba_ joined
|
|||
| spinclad | BREAKING NEWS: Parrot hijacks CPAN, attacks New York! # search.cpan.org/~simon/parrot-0.0.1/ | 06:55 | |
| [as noted by particle earlier] | 06:56 | ||
|
06:57
allison joined
07:08
iblechbot joined
07:12
Zaba joined
07:22
ruoso joined
07:40
Zaba joined
|
|||
| cizra | I tried to generate a new test language, but its Makefile wasn't generated. | 08:16 | |
|
08:16
Zaba_ joined
|
|||
| cizra | (using the tools/dev/mk_language_shell.pl) | 08:16 | |
| Running parrot on the test PIR didn't succeed either. | 08:20 | ||
| error:imcc:No such file or directory | |||
| Tene: Try running echo 'i = 0; i.upto(5) {|j| puts j}' | parrot cardinal.pbc --target=parse -- it's freakin' HUGE. Is it supposed to be so complex? | 08:29 | ||
|
08:31
braceta joined
|
|||
| TiMBuS | cizra | 08:48 | |
| if that freaks you out, you better not try: echo 'my $i = 0; for $i..5 -> {say $^j}' | ../../parrot perl6.pir --target=parse | 08:49 | ||
|
08:52
Eevee joined
09:02
Ademan joined
09:26
Eevee joined
|
|||
| cizra | TiMBuS: doesn't parse | 09:33 | |
| purl | ?SYNTAX ERROR | ||
| TiMBuS | .. really? | 09:34 | |
| cizra | Statement not terminated properly at line 1, near "5 -> {say " | 09:35 | |
| TiMBuS | odd, it works for me. | ||
| this is rakudo im talking about not cardinal | |||
| cizra | I tried running it in languages/perl6 | 09:36 | |
| Dunno what rakudo is | |||
| TiMBuS | languages/perl6 is rakudo. strange that doesnt parse for you | ||
| the point i was making is any large language has a pretty huge syntax tree | |||
| its about the same size as the one cardinal produces | 09:37 | ||
| cizra | OK | ||
| TiMBuS | 226 lines for cardinal, 197 for perl6. nothing to fret about. | 09:39 | |
| cizra | OK | 09:40 | |
| Is that tutorial at www.parrotblog.org/2008/03/episode-...-guts.html supposed to be current and correct? | |||
| shorten | cizra's url is at xrl.us/bhy43 | ||
| cizra | The tools/dev/mk_language_shell.pl script didn't create a makefile for the new test language. | ||
| TiMBuS | i do believe so, but if theres any updates they would be in languages/squaak/docs | ||
| oh, yeah the 'executable' flag isnt set on it | 09:41 | ||
| use 'perl tools/dev/mk_language_shell.pl' | |||
| cizra | nono | 09:42 | |
| I did that and the new language was generated, | |||
| but it lacks a makefile. | |||
| TiMBuS | oh | ||
| ooh yeah i had that problem | |||
| did you run configure for parrot again? | |||
| cizra | Think so.. wait | 09:43 | |
| yep, nothing | |||
| TiMBuS | well try Configure.pl --languages="yourlanguage" | 09:44 | |
| thats what i had to do i think | |||
| cizra | works | ||
| thanks | 09:45 | ||
| TiMBuS | kewl | ||
| cizra | Ougt to update the doc. | ||
| Will you commit if I make you a patch? | |||
|
09:45
pjcj joined
|
|||
| TiMBuS | oh, i dont have commit | 09:45 | |
| haha | |||
| but im sure someone would commit a change to it | 09:46 | ||
| cizra | Hey, folks! Anyone got SVN commit permissions? | 09:49 | |
| pastie.org/212876 | 09:50 | ||
|
09:58
slightlyoff joined
10:08
Eevee joined
11:08
MagNET joined
11:24
Eevee joined
12:09
Zaba joined
12:21
tetragon joined
|
|||
| DietCoke | cizra: applied with tweaks, thanks. | 12:34 | |
| cizra | \\o/ | ||
| dalek | r28232 | coke++ | trunk: | ||
| : Clarify mk_language example | |||
| : cizra++ | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28232 | |||
| DietCoke | For anything more serious, a patch is probably better so it doesn't get lost. =-) | 12:35 | |
| cizra | You mean, mailing a patch to the list? | 12:38 | |
|
12:40
IllvilJa joined
|
|||
| DietCoke | ya. (docs/submissions.pod); just that IRC isn't always monitored, is all. | 12:41 | |
| thanks for the patch. | 12:42 | ||
| cizra | (= | ||
| TiMBuS | hmm, when you append a pmcarray to another pmcarray, is the appended array copied? | 12:46 | |
| hmm i think i might have to iterate the second array and copy every element or something.. | 12:50 | ||
| jonathan | TiMBuS: How are you appending it? | 12:51 | |
| TiMBuS | array."append"(otherarray) | ||
| but it seems like changes made to the first array apply to the second | 12:52 | ||
| which also happens if i clone the second array and append what is supposed to be the clone. | 12:53 | ||
|
12:54
clunker3 joined
|
|||
| jonathan | That may work...heh...I didn't know there was an append method. | 12:54 | |
| DietCoke | ew. append should probably be reworked to use the vtable methods. | 12:55 | |
| (or an iterator) | |||
| (solely, that is) | 12:56 | ||
| bacek found crash in parrot... | |||
| TiMBuS | ill just manually copy and append each element, im not fussed | ||
| bacek | 1 ~~ Perl6Scalar | ||
| jonathan | bacek: I'm not sure what that should do, I guess maybe other than returning a false value...it shouldn't segfault. | 13:01 | |
| Make a ticket. Or a patch. ;-) | |||
|
13:04
IllvilJa joined
|
|||
| bacek | jonathan, probably :) But there is already few my patches in RT... | 13:06 | |
| TiMBuS | heh, 1 ~~ Perl6 | 13:08 | |
| segfault | |||
| purl | rumour has it segfault is xkcd.com/371/ | ||
|
13:10
jhorwitz joined
13:13
iblechbot joined
|
|||
| TiMBuS | Perl6* pmc's/whatever they are shouldnt be directly accessible from perl 6, should they? | 13:14 | |
| or are they considered an actual type? | 13:16 | ||
| nopaste | "bacek" at 202.7.166.164 pasted "jonathan: there is a patch for crash in '1 ~~ Perl6Scalar'" (42 lines) at nopaste.snit.ch/13229 | 13:39 | |
| jonathan | bacek: Looks sane - I am tied up doing $DAYJOB at the moment, so please send in patch (as Parrot one, not Rakudo) | 13:43 | |
| pmichaud | (append array): I've been using splice, myself. | 13:44 | |
| TiMBuS | hmm | 13:45 | |
| ill give that a shot | |||
| pmichaud | Perl6* pmc's won't generally be accessible, no -- we just haven't worked to clean up those loose edges yet. | ||
| TiMBuS | oh, gewd | 13:46 | |
| pmichaud | + "Method '%Ss' not found for non-object", meth); | ||
| isn't really describing what's happening. The error should probably be "Null PMC in callmethod" | 13:47 | ||
|
13:47
particle joined
|
|||
| pmichaud | or, better: "Null PMC access in callmethod '%Ss'" | 13:48 | |
| bacek | pmichaud, It's copy-pasted from existed check. But I can change it | 13:49 | |
| TiMBuS | the parrot opcodes need a search function or a list i can ctrl-f over =/ | 13:50 | |
| bacek | but it actually is not NULL PMC, AFAIU | ||
| pmichaud | ohhhhh | ||
| you're right. | |||
|
13:51
gryphon joined
|
|||
| bacek | (jfyi #55620) | 13:51 | |
| pmichaud | ....but every PMC has a class. | ||
| or should have one. | |||
| bacek | this is mathian PMC without class :) | ||
| Martian | |||
| Zaba | are there exception objects in perl6? | ||
| pmichaud | In this particular instance ( 1 ~~ Perl6Scalar ) I'm guessing that the problem is that the symbol Perl6Scalar doesn't exist (i.e., PMCNULL). | 13:52 | |
| the code then attempts to invoke .ACCEPTS on PMCNULL, and that's the segfault. | |||
| so, perhaps PMCNULL doesn't have a class. But AFAICT every other PMC should respond with some value to VTABLE_get_class | 13:53 | ||
| if PMCNULL is the only PMC w/o a class, though, it would be better to check for it directly. | |||
| bacek | pmichaud, hmm. Just a sec. | 13:54 | |
| pmichaud | I can add my comments to the ticket. | ||
| (if it would help.) | |||
| bacek run 'git reset HEAD~1; make' to test | |||
| but I think is was NameSpace... | 13:55 | ||
| pmichaud | oh, you're right there. | ||
| bacek++ bacek++ # correcting my silly mistakes | |||
| TiMBuS | Zaba, theres a 'Failure' if that helps.. | ||
| pmichaud | Zaba: yes, Perl 6 has Exception types. | 13:56 | |
| bacek | pmichaud, :) | ||
| DietCoke | pmichaud: ifnull ... | ||
| pmichaud | so, is VTABLE_get_class returning null on NameSpace objects? | ||
| Zaba | pmichaud, nice.. | 13:57 | |
| DietCoke | pmichaud: return PARROT_NAMESPACE(SELF)->_class; | ||
| bacek | (gdb) p object->vtable->whoami->strstart | ||
| $45 = 0xb7e740d3 "NameSpace" | |||
| this one without ->data. | 13:58 | ||
| And it cause crash in error report. | |||
| oops. No. Its with data... | |||
|
13:58
IllvilJa joined
|
|||
| DietCoke | pmichaud: looks like _class is an attribute on the namespace. | 13:58 | |
| bacek | (gdb) p object->vtable->get_class(object) | 13:59 | |
| $48 = (PMC *) 0x0 | |||
| DietCoke | (and it's only set via a call to set_class, which isn't called elsewhere in teh pmc. | ||
| bacek | DietCoke, make sense. | 14:00 | |
| pmichaud | I wonder if NameSpace needs some sort of PMC Proxy instance | ||
| jonathan | I originally intended that everything had a PMCProxy instance that it, by default, returned from the get_class vtable method. | 14:05 | |
| pmichaud | oh, I see where bacek++ got the code from for the patch. | ||
| just copied it from callmethodcc into callmethod | |||
|
14:05
Zaba joined
|
|||
| pmichaud | works for me. Pay no attention to the ravings of the just-waking-up Rakudo guy. | 14:06 | |
| bacek | "<bacek> pmichaud, It's copy-pasted from existed check. But I can change it" :) | ||
| pmichaud | bacek: I was looking at a different "existing check" | ||
| I didn't see the one you were referring to. Anyway, as I said, I'm messed up on this one. | 14:07 | ||
| pmichaud slinks off into a different developing cave for a while. | |||
|
14:09
Whiteknight joined
|
|||
| TiMBuS | finally! | 14:11 | |
| dalek | r28233 | Whiteknight++ | gsoc_pdd09: | 14:13 | |
| : [gsoc_pdd09] updating to trunk r28232 | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28233 | |||
| TiMBuS | i just ended up cloning every pmc in the array then appending it to the other. oh well function calls now work so ive pretty much written the parrot version of 'joy' | 14:14 | |
| awesome | 14:15 | ||
| next time ill write an imperative language using pct since its deigned to compile, you know, imperative languages, | 14:16 | ||
|
14:17
Zaba joined
|
|||
| DietCoke should just bite the bullet and see how tcl works (without rename) using PCT. | 14:23 | ||
| er, [rename] | 14:24 | ||
| NotFound | Latin? | ||
| purl | well, Latin is an "inflected" language. instead of using word order to denote subjects and objects like we do in english, latin puts different endings on their words. or a horrible waste of time. or not something on Babelfish's menu | ||
|
14:33
Zaba joined,
rdice joined
|
|||
| dalek | r28234 | kjs++ | trunk: | 14:42 | |
| : [squaak] implement return statement. Not sure if it's complete now, think so. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28234 | |||
|
14:46
Zaba joined
14:47
sjansen joined
|
|||
| NotFound | I've read the discussion about _class in namespace. A problem is that in zero initialized structure PMC * members are filled with NULL, not PMCNULL. | 14:52 | |
| Attempts to use PMCNULL can throw exceptions, with NULL usually just segfaults. | 14:55 | ||
| dalek | r28235 | kjs++ | trunk: | 15:01 | |
| : [squaak] fix action method for try. Apparently, seting viviself and isdecl flags need PAST::Val nodes instead of just literal constants. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28235 | |||
|
15:14
davidfetter joined
15:17
Infinoid joined
15:35
Zaba joined
15:38
bacek joined
|
|||
| dalek | r28236 | kjs++ | trunk: | 15:39 | |
| : [squaak] update README a bit; return is now implemented. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28236 | |||
|
15:42
particl1 joined
|
|||
| dalek | r28237 | Whiteknight++ | gsoc_pdd09: | 15:43 | |
| : [gsoc_pdd09] adding some basics for root-at-a-time increments and an optional threaded mode | |||
|
15:43
IllvilJa joined
|
|||
| dalek | diff: www.parrotvm.org/svn/parrot/revision?rev=28237 | 15:43 | |
| tewk | I ran it without any special commandline parametersq | 15:46 | |
| oops | 15:47 | ||
|
16:18
cotto_home joined
16:22
peepsalot joined
16:27
Zaba joined
|
|||
| dalek | r28238 | Whiteknight++ | gsoc_pdd09: | 16:27 | |
| : [gsoc_pdd09] some changes, mostly a lot of comments | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28238 | |||
|
16:38
Zaba joined
16:41
Theory joined
16:54
Zaba joined
17:11
Zaba_ joined
17:16
Eevee joined
|
|||
| particle | jhorwitz: ping | 17:38 | |
| jhorwitz | particle: pong | ||
| particle | did you get mod_lolcode working? | ||
| i know somebody who wants to put up a monster.com ad for it :) | 17:39 | ||
| jhorwitz | yes, but persistence didn't work | ||
| of globals, that is | |||
| particle | that seems appropriate | ||
| jhorwitz | i wanted to say "i can haz X cheezburgers?" | 17:40 | |
| particle | i wonder why that's broken | ||
| jhorwitz | it was cuz you couldn't use or test the value of a variable w/o declaring it | ||
| particle | ooh, ff3 has a search bar in the download window | ||
|
17:40
barney joined
|
|||
| jhorwitz | i made a small fix for that, but it caused other problems. can't remember. | 17:40 | |
| particle is distracted by shiny things | 17:41 | ||
| particle | I CAN HAZ FAIL CASCADING? | ||
| DietCoke | we do have folks kind of maintaining lolcode, feel free to submit bugs. | 17:43 | |
| tcl is far more important though. =-) | |||
| jhorwitz | obviously. ;-) | ||
| Whiteknight | DietCoke, are you going to get Tk working with it? | 17:44 | |
| DietCoke | So... pct is designed to work with languages with syntax. Tcl doesn't really have that, per se. I am thinking that for a first pass at implementing tcl on pct, I need to pretend that the 'if' command is really syntax. | ||
| (Tk) It's not on my radar, no. | 17:45 | ||
| Whiteknight | okay | ||
| DietCoke | (pct) so, once I get all that working, I can then dynamically replace the grammar if someone redefines 'if'. | ||
| but that seems kind of hacky to me. :| | 17:46 | ||
| Anyone have any better ideas? I'd like to keep something like the PGE grammar I have now, but still be able to take advantage of the ast/ost/pir chain; right now that chain is all handrolled in tcl. | 17:47 | ||
| (I wonder if I can just work on replacing those bits rather than returning my handrolled PIR) | |||
|
17:47
IllvilJa joined
|
|||
| DietCoke | Whiteknight: (tk) to do that, I think I'd need to support the C level Tcl APi as well. | 17:48 | |
| and I'm just going for the tcl language level stuff atm. | |||
| particle | DietCoke: you can define your own compiler chain with pct | ||
| Whiteknight | Okay, that's fair. I know the Tk lib is going to be used eventually for perl6 too, I personally would prefer to see a Gtk2 library in there, but I dont have the time or tuits to implement it | 17:49 | |
| DietCoke | well, I can already call out to parrot stuff, so if there's a wrapper in lib/ I can use the gtk2 stuff. | 17:50 | |
| Hurm. actually, I'm not sure I can, because all my namespace access is rooted at ['tcl'] atm. | |||
| particle | all your namespace are belong to ['tcl'] | 17:51 | |
| DietCoke | particle: so here's my thing: the first parse for tcl is always "break this into commands". Each command can start out with handrolled PIR, or something I've compiled, but I have to be able to swap it all out at runtime. | ||
| particle | lexical redefinition, or global? | 17:52 | |
| DietCoke | We have bits that actually return the PIR necessary to run some of those commands (analagous to PCT, but done differently). We also have runtime versions of most things. | ||
| (so if someone calls [for ...], they're getting a runtime version written in PIR.) | |||
| particle | perl 6 does this with begin | 17:53 | |
| DietCoke | particle: global. | ||
| particle | you can redefine the grammar | ||
| DietCoke | if you replace the main [if] sub, you replace the whole thing. | ||
| but it's not really a grammar. | |||
| er, a grammar change. | |||
| the grammar is just "break this into commands" | |||
| Like I said, I can cheat and actually flesh that out more. It does feel like cheating atm, though. hurm. | 17:54 | ||
| particle | you look up via arity? | ||
| i mean, look forward | |||
| DietCoke | ? | ||
| There's no arity involved. dispatch to named sub in the appropriate namespace. | |||
| particle | i mean, to determine how to evaluate | 17:55 | |
| how many args does this sub expect | |||
| DietCoke | so [if {$a == $b} {puts hi}] is invoking 'Tcl'; '&if' | ||
| particle | ah, ok, brackets delimit commands | ||
| DietCoke | well, there's only one choice, if the sub name is present, dispatch to it. | ||
| yes. | |||
| (just a way to show I'm quoting tcl code here. You'd not write the brackets around a top level command.) | 17:56 | ||
| Hurm. I guess it's not cheating that bad. :| | 17:57 | ||
| One other problem I have: I need to evaluate each command immediately. | 17:58 | ||
| (which I'm not doing now, but need to fix in any major rewrite). Is there a way to do that with PCT? | 17:59 | ||
| I know it's theoretically possible with my current setup by changing my grammar to be a single command and then looping over the input, but I would love to have that baked into the toolkit. | |||
|
18:00
donaldh joined
|
|||
| particle | sorry, phone call :( | 18:05 | |
|
18:12
Ivatar joined
|
|||
| dalek | r28239 | coke++ | trunk: | 18:12 | |
| : [distro] | |||
| : Follow the convention of naming files consisting only of POD with .pod | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28239 | |||
| barney | I'm wondering whether the Perl6 object model fits PHP. '=&' in PHP seems to be the same as ':=' in Perl6 | ||
| DietCoke | oh, wait. PCT doesn't support HLL yet, does it? | 18:16 | |
| pmichaud | =& in PHP is really two tokens, I think. | 18:25 | |
| PCT doesn't support HLL yet, no. But it shouldn't be too hard to add it. | 18:26 | ||
| cotto_work | pmichaud, yes | 18:31 | |
|
18:33
gmansi joined
|
|||
| barney | pmichaud: I don't understand PHP semantics yet. '$a =& $b' is the same as '$a = &$b' but don't mean: Store reference to $b in $a. | 18:34 | |
| It feels more like a single op. $a is now an alias for $b | 18:35 | ||
|
18:38
Zaba joined
|
|||
| cotto_work | barney, $a = & $b; means $a refers to the same thing $b refers to, afaict from the docs | 18:39 | |
| pmichaud | in this sense, yes, it's like a bind. | 18:40 | |
| avar | barney: it means $a now refers to the same variable as $b, it's like a hardlink | 18:41 | |
| (not a reference) | |||
|
18:42
Eevee joined
|
|||
| barney | Yes, that's why I probably should change assignment in Plumhead for pasttype('bind') to pirop('assign') and use pasttype('bind') only for '= &' | 18:45 | |
| s/for/from/ | |||
|
18:56
Zaba joined
|
|||
| jhorwitz | particle: what exactly is the deal with lolcode & monster? | 19:02 | |
|
19:02
grim_fandango joined
|
|||
| dalek | r28240 | bernhard++ | trunk: | 19:09 | |
| : [Plumhead] | |||
| : Remove unused for src/pct/Plumhead/Grammar.pir | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28240 | |||
| barney | s/for/file/ | 19:10 | |
| pmichaud | DietCoke: ping | 19:15 | |
| DietCoke | pong | ||
|
19:16
Zaba joined
|
|||
| pmichaud | you might not be able to answer this, but ... | 19:16 | |
|
19:16
gryphon joined
|
|||
| pmichaud | I want to use "store_lex $S0, $P0" to create a new lexical | 19:16 | |
| because there's not a .lex $S0, $P0 option | |||
| i.e., create a lexical at runtime instead of compile time | |||
| pdd20 says this should work if the :lex flag is present (as Tcl requires), but I can't seem to get it to work | |||
| any clues? | 19:17 | ||
| purl | Dee Dee Dee! | ||
| pmichaud | phrased differently -- how does Tcl create lexicals at runtime? | ||
| NotFound | bacek: please take a look at my answer on #55620 | 19:18 | |
| DietCoke | moment. | ||
| pmichaud: languages/tcl/runtime/variables.pir | 19:19 | ||
| dalek | r28241 | Whiteknight++ | gsoc_pdd09: | ||
| : [gsoc_pdd09] modify the arena allocator for better spacial locality. A few other misc changes | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28241 | |||
| DietCoke | you are probably interested in __store_var, the lexical path. | ||
| pmichaud | ah, stick it directly into the LexPad | 19:20 | |
| let's see if that does what I need. | |||
| DietCoke | except that it looks like we're manually managing our call chain to get the lexpads; if you have a lexpad handy, that might work. | ||
| avar | barney: is =& logically distinct from just assigning to something prefixed with &? | 19:21 | |
| I.e. does it need to be special cased? | |||
| NotFound | bacek or any other interested in the "say 1 ~~ Perl6Scalar" bug. | ||
| pmichaud | it appears that :lex forces generation of a lexpad | 19:23 | |
| DietCoke | hokay. so that trick works for you, then? | 19:24 | |
| pmichaud | but I don't seem to be able to add an entry to it. | ||
| DietCoke | odd. | ||
| barney | avar: I think it is distinct | ||
| DietCoke | There is magic going on with the call_chain[] call there; I think mdiep did that work, I don't recall what's going on in that code path. | ||
| pmichaud | I would think that obtaining the lexpad and then doing lexpad['symbol'] = $P0 would create the entry | 19:25 | |
| DietCoke | we do have separate paths for creating and updating. | 19:26 | |
| sub 'make', perhaps? | |||
| pmichaud | oh. | 19:27 | |
| afaict, none of Tcl is making use of Parrot's lexical features. | |||
| i.e., Tcl is mantaining its own complete stack of lexpads. | |||
| DietCoke | Very likely because at one point nothing worked and we had to roll out our. =-) | 19:28 | |
| dalek | r28242 | bernhard++ | trunk: | ||
| : [Plumhead] | |||
| : Get rid of unused vars in Makefile. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28242 | |||
| DietCoke | "roll our own" | ||
| we don't have declared variables, so our lexicals were never using :lex | |||
| pmichaud | okay, that answers my questions about Tcl then. Thanks for pointing me to the right places to look. | ||
| DietCoke | we alwyas had to do it the hard way. If there's an easier hard way, I'm all for updating. =-) | 19:29 | |
| I had thought we were using whatever the fallback version for lexicals was. | |||
| pmichaud | I think the answer is that Parrot's lexical support isn't supporting what you need | ||
| at least, not yet. | |||
| Tene | jhorwitz: feel free to harass me about lolcode. I have a standing policy of working on anything anyone finds important enough to bother me about. | ||
| DietCoke | tene: my lawn needs mowing. get on that. | ||
| pmichaud | I'm finding I want something similar but can't find the right incantation to get that working. | 19:30 | |
|
19:30
pjcj joined
|
|||
| jhorwitz | Tene: bringing up mod_lolcode shortly. i'll know soon how much i need to harass you. :) | 19:30 | |
| pmichaud | I'll poke around the lexpad.pmc guts a bit and see what's up there. | 19:31 | |
| ah, looks like that was left unimplemented. At the least the code doesn't match the documentation in the code. | 19:32 | ||
|
19:34
Zaba joined,
IllvilJa joined
|
|||
| Tene | DietCoke: Sure, I'll do that the next time I'm in NY. | 19:35 | |
|
19:37
davidfetter joined
|
|||
| dalek | r28243 | bernhard++ | trunk: | 19:44 | |
| : [Plumhead] | |||
| : Add an empty actions.pm, | |||
| : prepare for migrating PAST generation from TGE to NQP. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28243 | |||
|
19:47
Zaba joined
|
|||
| Tene | DietCoke: as long as you close >=10 tickets while I'm doing it. | 19:49 | |
| DietCoke | I've already closed that many this week. =-| | 19:51 | |
| particle | crap, i have bad ram. | ||
| now i have to find out which of four modules or four slots is bad | |||
| Tene | I'm sure you won't need your system while running memtest86 on it for the next day, right? | 19:52 | |
| DietCoke | is this the machine that was coming to OH? | 19:53 | |
| particle | memtest86 just froze | 19:57 | |
| OH? | |||
| this is my desktop, 6GB dual quad-core xeon monster | |||
| jhorwitz | you should see his laptop | 19:59 | |
|
19:59
smash joined
|
|||
| smash | hello everyone | 20:00 | |
| Tene | Hi! | ||
| particle: froze, eh? Maybe you've got bad ram. | 20:01 | ||
| ;) | |||
| DietCoke | er, IL. | 20:02 | |
| DietCoke geographizes GUT | |||
| dalek | r28244 | Whiteknight++ | gsoc_pdd09: | 20:04 | |
| : [gsoc_pdd09] modify the arena allocator for better spacial locality, again. Requires some voodoo pointer arithmetic, which is probably buggy. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28244 | |||
| particle | tene: :P | 20:07 | |
|
20:10
cjfields joined,
donaldh left
20:11
barney joined
20:13
Eevee joined
|
|||
| jonathan | 6GB dual quad core?! WANT! | 20:13 | |
| (with non-faulty RAM, kplzthnx) | |||
| cotto_work | good for teing make -j | 20:14 | |
| s/tesing/testing/ | |||
| Infinoid | hooray for voodoo pointer arithmetic | ||
| ptr += sizeof(dead_chicken) | |||
| jhorwitz | particle: mod_lolcode lives | 20:22 | |
| particle | HORRAY! | ||
| link? | |||
| jhorwitz | on my dev box at home right now | ||
| Tene | nice | ||
| particle | link? | ||
| :P | |||
| jhorwitz | hold yer lolcats | ||
| particle | sheesh, i can debug ram problems faster... | 20:23 | |
| jhorwitz | kthxbye | ||
| ;-) | |||
| particle | :D | ||
| jhorwitz | particle: www.smashing.org/sandbox/cheezburger.lol | 20:28 | |
| particle | joy! | 20:29 | |
| cotto_work | yuo can haz win | ||
|
20:29
Zaba joined
|
|||
| cotto_work | are you going to keep an example page up? | 20:29 | |
| jhorwitz | cotto_work: yes, trying to have all that up by YAPC | ||
| particle: i think everything's a lexical right now, so not much we can do w/ persistence (cheezburger counters, etc.) | 20:30 | ||
| Tene: can you confirm? | |||
| NotFound | No one wants to take a look at #55620 ? I'm in discussing mood. | 20:31 | |
| Tene | jhorwitz: sounds right to me. Feel free to tell me what you'd prefer. | 20:32 | |
| DietCoke | crap. I missed the call again, dinnit i. | ||
| jhorwitz | Tene: either globals or file-scoped lexicals would be nice (a la perl's "our"). then i can write a cheezburger counter. | 20:34 | |
| DietCoke | NotFound: that last variant looks best. =-) | ||
| NotFound | DietCoke: I like both. | ||
| Tene | jhorwitz: give me aproposal for how they should work and I'll implement it. | 20:35 | |
| jhorwitz | can do. probably not real soon though. :) | ||
| NotFound | I know the first gives less informative messages, but I think that when more descriptive messages are needed an explicit check is the way to go. | 20:36 | |
| DietCoke | it's the sort of patch I would normally defer to someone more comfort with parrot guts to apply. | 20:40 | |
|
20:40
Zaba joined
|
|||
| NotFound | And can't be applied as is, several test must be addapted before. | 20:41 | |
| But the last can be applied indepedently of the decission about the first mine or the original one. | 20:43 | ||
| The NULL _class is an open call for segfaulting bugs. | 20:45 | ||
|
20:53
Zaba joined
|
|||
| NotFound | By the way, this code segfaults: $P0= get_root_namespace | $P1= get_class $P0 | 20:53 | |
| particle | DietCoke: i think pmichaud nominated you for something in your absence :) | 20:55 | |
| DietCoke | which is what, now? | 20:56 | |
| particle | summarizing list mail and irc traffic or something small like that... | ||
| i'm kidding, of course. | |||
| but we did discuss the Great Need | 20:57 | ||
| Whiteknight | what is the Great Need? | 20:59 | |
| particle | summarizing list mail and irc traffic or something small like that... | 21:02 | |
| ~8-10h/week | |||
| cotto_work | I'll have to think about whether I'd have time to do that, since it looks like I'll be in code purgatory for a while still. | 21:05 | |
|
21:07
rdice left,
Zaba joined
|
|||
| cotto_work | something like www.perl.com/pub/a/2004/04/p6pdiges...40425.html ? | 21:08 | |
| particle | yes | 21:09 | |
| and there's the *possibility* for some funding, from tpf or parrot | |||
| we'll definitely be talking about it at yapc | 21:10 | ||
| cotto_work | funding would be a secondary concern | ||
| particle | and i know ann barcomb well, who did perl 6 summaries for a while | ||
| cotto_work | (at least for me) | ||
| particle | she and nothingmuch developed some tools to make it easier to manage | ||
| cotto_work | good thing to talk about at yapc | 21:11 | |
| particle | ya | ||
| DietCoke | whee, more "perl6 is going to suck" crap to wade through. | 21:16 | |
| jonathan | I'm not sure if that beats the "perl6 is a failure" or "perl6 is vaporware" crap... | 21:18 | |
| jonathan will be hacking Rakudo tomorrow. | |||
| DietCoke | I think it's harder to defend against. Though they're ranting about the initial apoc, I think. | 21:20 | |
| Tene | DietCoke: where? | ||
|
21:21
Zaba joined
|
|||
| DietCoke | private online community | 21:24 | |
| I just quit that channel. | |||
| Whiteknight | perl 6 is going to be the bee's knees | ||
| I'm so excited about it, I could plotz | |||
| DietCoke | heh. If I was personally more excited about perl6, I could probably defend it. As it is, it's just a drain to talk to these guys. | 21:25 | |
| Whiteknight | The proof will be in the pudding, as it were. When we get a working product and start doing amazing stuff with it, people will cut out their crap | 21:26 | |
| jonathan | I've found some people you can have a reasonable technical discussion with. And even if you end up disagreeing, at least it was a discussion. Others, frankly, aren't going to change their mind no matter what you say and aren't worth the time to argue with. | 21:29 | |
| DietCoke | jonathan: and since I'm not a perl6 expert, I can't even have that discussion, typically. =-) | 21:30 | |
| Whiteknight | I'm not a perl6 expert, but I am an enthusiast. It's perl 6 that lead me to Parrot in the first place | 21:31 | |
| jonathan | Same. | ||
| ...5 years ago. | 21:32 | ||
| Whiteknight | let me tell you what, my C-foo has gotten more of a workout today then it has in years | ||
| doing C pointer arithmetic really makes me appreciate dynamic languages even more | 21:33 | ||
| Tene | Hm. I could really enjoy some lolcode hacking tonight. | ||
| I'm usually just a bit too tired to really get any hacking done unless I'm excited about something specific, or someone else harasses me to do it. | 21:34 | ||
| Caffeine helps a lot, but then I have trouble sleeping for the next two to three days. | 21:35 | ||
| DietCoke | I've spent the last several years building up an immunity to caffeine power. | 21:36 | |
| powDer | |||
| Whiteknight | I can harass you! | 21:37 | |
| Tene | It's not worth the trouble for me if I end up sleeping in through the start of class, and I'm in different timezones regularly, so I'm more sensitive to that than I used to be. | ||
|
21:38
Zaba_ joined
|
|||
| Tene | I think I figured out how to solve a problem I've been having with cardinal in my sleep last night, though. | 21:38 | |
| I'm still not sure what I'm going to do about the "no syntactic difference between variable and nullary sub" thing and the "no syntactic difference between attribute access and nullary method call" thing | 21:40 | ||
| DietCoke | tene: is there a mailing list for generic LOL code stuff? | 21:41 | |
| Tene | DietCoke: I have no clue whatsoever. | ||
| DietCoke needs mdiep back to hack on tcl more. | |||
| Tene | I just read some stuff from the spec page. | ||
| There are web forums, I know. | 21:42 | ||
| NotFound | DietCoke: almost any mailing list and web forum in the world have a lot of LOL people. | ||
| DietCoke | Happy to create a mailing list on coleda.com if you need one. | ||
| NotFound: specifically looking for lolcoders, though. =-) | |||
| (mailing list) probably better off to do that via google groups, though. | 21:44 | ||
| Tene | DietCoke: why do you ask? | 21:45 | |
| DietCoke | because I assume you are having trouble resolving a spec question, not an implementation detail. | ||
| NotFound | Created #55640 with the segfault found when discussing #55620 | ||
| Tene | I was talking about cardinal there, not lolcode. | 21:46 | |
| DietCoke missed the context switch | 21:47 | ||
| -> | |||
| Tene | in ruby, "a = b + c", both b and c could be either variables or nullary subs. | ||
| NotFound | Less than an hour to locate, fixing, testing and creating the ticket, not so bad :) | 21:48 | |
|
21:53
Auzon joined
21:57
Zaba joined
22:04
cjfields left
22:09
Limbic_Region joined
22:18
Auzon joined
|
|||
| dalek | r28245 | Whiteknight++ | gsoc_pdd09: | 22:39 | |
| : [gsoc_pdd09] more modifications, add a cardmarking function, will probably be inlined later | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28245 | |||
| jonathan | Whiteknight: I'd guess most compilers will spot it, but card = card + (hdr->index / 4); is maybe better to use ">> 2" instead of potentially slow "/ 4"? | 22:57 | |
| And bitwise of instead of the modulo too. | 22:58 | ||
|
22:59
japhb joined
|
|||
| NotFound | jonathan: if the values are unsigned, you can trust the compiler will optimize it. | 23:05 | |
| (and if not, the compiler is so bad that those microoptimization will not be noticeable) | 23:06 | ||
| We already have too many attempts of premature optimization, IMO. | 23:09 | ||
|
23:10
particle joined
23:13
IllvilJa joined
|
|||
| japhb | NotFound: sure ... but given that the compiler should DTRT, the choice of /4 or >>2 should depend on what the actual *intent* of the code is. If it's an integer getting scaled, /4 is the correct code. If it's a bitmask, >>2 is the correct code. | 23:18 | |
| japhb hates it when people mix /(2**n) and >>n without thinking ... | 23:19 | ||
| cotto_work | premature optimization? | ||
| purl | premature optimization is the root of all evil or when you make the mistake of optimising for speed when really you should optimise for maintainability and correctness, in the first instance. or unnecessary optimization is premature by definition. or hacking with tequila in preference to wine | ||
| japhb | ... but I'm also in the "code is prose" group | ||
| NotFound | japhb: yeah, but I haven't seen yet a / 4 used when >> 2 will be desirable. | ||
| japhb | I like that last definition for premature optimization ... | ||
| NotFound: sadly, I have. | 23:20 | ||
| Someone doing a clbuttic reactionary conversion, I think | |||
| jonathan | Fine, fine, leave it as it is. | ||
| japhb | jonathan: OH, I hadn't looked at the original patch in full, so I don't know which is correct in that instance. I was just trying to say that /4 ==> >>2 is not *necessarily* the best choice. | 23:22 | |
| jonathan | Given it's doing the cardmarking stuff, I suspect bitwise would be more natural. | ||
| japhb | Fair enough. | ||
| Tene: So how does *ruby* resolve the 'a = b + c' syntax ambiguity? | 23:23 | ||
| Is every variable name really syntactically a nullary accessor, that just might be optimized away? | 23:24 | ||
| jonathan | Also note, we tend to run Parrot unoptimized much of the time, and I'm guessing this is a hot code-path. Given bitwise seems clearer anyway (though I didn't mention that originally), and doesn't need an optimizer to make it run that tiny bit faster (which may add up), I thought it might be a sensible change. | ||
| NotFound | Well, then I can't say no more don't heave seen that ;) | 23:25 | |
| japhb | jonathan: nodnod | ||
| <insert parrot should be built optimized rant here> | |||
| particle | parrot is optimized for development atm | 23:26 | |
| jonathan | I may be wrong, but I think some compilers won't let you have debugging symbols *and* optimized build together. | ||
| NotFound | jonathan: we also tend to run parrot undertested, and bugs introduced by attempts of optimization are difficult to find. | ||
| japhb | particle: I think that's the intent. I'm not sure it's truly working out that way. | ||
| jonathan: Now that I would believe | |||
| NotFound | See all tickets non-null related, for example. | ||
| particle | japhb: msvc can't do optimized debug iirc | ||
| japhb rolls his eyes in frustration with all things Microsoft ... it's been one of those days | 23:27 | ||
| jonathan | particle: that was the compiler I was thinking of, but didn't want to say it without checking, and am too tired to be bothered to go look it up and check. :-) | ||
| particle | jonathan: i'm pretty certain, but not 100% | ||
| and if you and i are both thinking it, there's greater chance that it's true, i'd like to believe :) | 23:28 | ||
| japhb | heh | ||
| particle thinks perl 6 is cool | |||
| NotFound | Sometimes the problem is that people only looks at the IDE options, but the command line have more. | ||
| jonathan | I think mswin32.pm in hints has something to make sure we don't try and do debug and optimized. | ||
|
23:28
slightlyoff left
|
|||
| japhb reads through mswin32.pm, feels rather sick to his stomach | 23:30 | ||
| jonathan | :-) | 23:32 | |
| Tene | japhb: pretty much, yeah. | 23:33 | |
| japhb: optimized build on amd64 is broken, iirc | |||
| japhb | Oy, and it looks like Borland's Win32 compiler *forces* -O2 ... | 23:34 | |
| Or rather, we force -O2 when detecting bcc ... | |||
| particle | hrmm, borland is one compiler i don't have for windows.... | 23:35 | |
| yet. | |||
| japhb | Tene: That's one reason that I think always building with no optimization is bad. Because no one has a strong enough incentive to fix that problem, instead delaying it until much later ... when the fix may be much more painful. | 23:36 | |
| particle | japhb: same can be said for jit, and alternate runcores | ||
| we *need* a smoke environment and toolset | 23:37 | ||
| TimToady | a Perl 6 programmer is going to be surprised when they put in a breakpoint at infix:</> and don't hit it on /4 :) | ||
| japhb | particle: Yep. Which I've commented similarly about. | ||
| (jit and alternate runcores) | |||
| TimToady | Postmature optimization is the leaf of all evil... | 23:38 | |
| japhb | Nice. | ||
| jonathan | TimToady: The only time we could ever optimize that is when we can infer from the type that we actually have an int...and I'd hope in the case of lowercase int type we're not compiling down to a multi-dispatch. | 23:39 | |
| That's my I-need-sleep guess anyway. | |||
| particle | postmature pessimisation is the square of all evil... | 23:40 | |
| NotFound | In the C case, I think there is no debugger that allows to put a breakpoint in / operator. | 23:41 | |
|
23:42
ank joined
|
|||
| particle wonders if the perl 6 debugger will have protobreakpoints | 23:42 | ||
| jonathan isn't sure whether to ask for an explanation | 23:43 | ||
| ank | proto? | ||
| purl | proto is probably to start at the lowest and use the first available. The client should be configurable. | ||
| japhb | particle: do you mean a breakpoint that activates on any one of a multi? | ||
| particle | yep | ||
| japhb | nice feature idea, that | 23:44 | |
| particle | like protoregexes | ||
| jonathan | Oh, OK. | ||
| That makes sense. | |||
| particle | i think it could be quite useful | ||
| jonathan | *nod* | ||
| particle can't build perl6 :( | 23:45 | ||
| jonathan: have you built rakudo lately? | |||
| NotFound | All optimized build bugs have seen solved recently were caused by the non-null issues. | ||
| jonathan | particle: No, have been snowed under with $DAYJOB since weekend. | 23:46 | |
| particle | notfound: i expect after all those are fixed, optimized build should be much more stable | ||
| jonathan | Tomorrow I get full day on Rakudo that $OTHER_JOB won't interupt, though. :-) | ||
| particle | ok, well the build dies during dynpmc gen | ||
| NotFound | particle: I start to think that the only reasonable way to solve all is to completely drop non-null parameters. | 23:47 | |
| particle | .\\perl6str.c(1288) : error C2275: 'PMC' : illegal use of this type as an expression | ||
| NotFound: the decorators were added probably without testing optimized build | |||
| they're worth having, as long as they're correct and complete | |||
| jonathan | Heh. I get "error:imcc:syntax error, unexpected DOT ('.')", but I only updated my Rakudo, not my core Parrot | ||
| japhb | particle: re: smoke environment and toolset ... I keep seeing mentions of smoke tools here and there, but always in passing. What is the current state of things? | ||
| NotFound | particle: and wthout testing if the compiler can warn about misuse. | 23:48 | |
| particle | notfound? there's a configure step to detect those attributes | ||
| jonathan | particle: On svn up, I see | ||
| U lib\\Parrot\\Pmc2c\\PMCEmitter.pm | |||
| particle | jonathan: yes, i remember reading a commit msg from chromatic about that | 23:49 | |
| i bet he broke it | |||
| NotFound | particle: detect what, if the attributed functions are called with possible null arguments? | ||
| particle | but i need to concentrate on mk_language_shell.pl | ||
| jonathan | particle: Yup, after getting that, my Rakudo is now hosed too. | ||
| particle | NotFound: detect whether the compiler has the ability to use those attributes | ||
| NotFound: i believe only gcc can do that now | 23:50 | ||
|
23:50
bacek_ joined
|
|||
| NotFound | particle: when there is not such ability, there are no problems caused by it. | 23:50 | |
| particle | correct | ||
| jonathan | particle: Will do a realclean. | ||
| particle | jonathan: doesn't help, but go ahead | ||
| jonathan | damm | 23:51 | |
| OK, then I'll go and sleep and have nightmares about the pmc2c fix I might have to do tomorrow. | |||
|
23:51
IllvilJa joined
|
|||
| particle | yeah. | 23:51 | |
| enjoy. | |||
| jonathan hopes it magically gets fixed before he wakes up | |||
| NotFound | And even if the compiler were able to warn about possible misuses, it will lose it in jit generated code. | ||
| particle | not everyone will run jit | 23:52 | |
| NotFound | particle: I fixed some bugs detected with jit. | ||
| So at least the people that filled the ticktes does. | 23:53 | ||
| particle | right | ||
| the matrix of platforms and configurations under which parrot will run is huge | 23:54 | ||
| dalek | r28246 | Whiteknight++ | gsoc_pdd09: | ||
| : [gsoc_pdd09] add all allocated objects to the free list. Some simplifications and refactors | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28246 | |||
| particle | the better-defined our api is, the easier it will be to extend and maintain that matrix | ||
| NotFound | particle: and that's the main reason to avoid to write potentially dangerour code. | ||
| particle | if we can guarantee and document and test that certain parameters and functions allow or disallow null, it makes maintenance easier | 23:55 | |
| NotFound | particle: yes, and the problem is that the api definitions are somewhat nebulous. | ||
| To say the least. | |||
| particle | yes, that's what needs correcting | 23:56 | |
| NotFound | Write code that meets the specification is as easy as walk over water... | ||
| particle prefers to write tests that meet the spec, then write the code | |||
| NotFound | You just need that both are frozen. | 23:57 | |
| particle | the more of parrot we get implemented, the closer that is to happening | ||
| sometimes the implementation informs the design | |||
| or, using my method, the tests inform the design | 23:58 | ||
| bacek_ | morning everyone... | ||
| particle | when will you get this right, bacek_, it's almost evening here! :P | 23:59 | |
| Tene | EVENING | ||
| Limbic_Region | localtime() | ||
| purl | rumour has it localtime() is Y2K compliant, read the doco phule | ||