|
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. |
|||
| bacek_ | 10:00... $dayjob starting.. | 00:00 | |
| Auzon | karma $dayjob | ||
| purl | $dayjob has karma of -1 | ||
| NotFound | A simple fact: we already have a lot of functions with non-null parameters directly called from opcodes without chekcing for nullness the registers used. | ||
| Auzon | karma $work | ||
| purl | $work has neutral karma | ||
| bacek_ | Adn I did | ||
| And I didn't have my coffee yet... | |||
| ($dayjob)++ # It gives me enough money to do something for rakudo :) | 00:01 | ||
| NotFound | What is the 'correct' fix? Change the signature, check all usages, or add other function for the same job? | ||
| Tene | So, is anyone going ot give me something HLLish to do tonight? | ||
| particle | NotFound: i think opcodes shouldn't check for nullness | 00:02 | |
| they should be fast and efficient, and assume correct input | |||
| NotFound | particle: i think there are already several that does. | ||
| particle | yes, this is true | ||
| and, i don't have final say | 00:03 | ||
| but it's how i'd design it | |||
| NotFound | particle: yes, but i think they must also avoid segfaulting the interpreter. | ||
| particle | so, null checking belongs outside the opcodes themselves | ||
| NotFound | An actually, a lot does. | ||
| particle | notfound: indeed | ||
| NotFound | Well, then we have only the other two solutions. | 00:04 | |
| And have two versions of a lot of functions looks no very desirable to me. | 00:05 | ||
| particle | tene: i'd like very much to start using languages/pir/ to do a pirtidy utility | ||
| or, pir::critic util | |||
| Whiteknight | write the utility in pure PIR? | 00:06 | |
| particle | no, use languages/pir for the parser | 00:07 | |
| write the actions in nqp | |||
| the pir rules are simple | |||
| Whiteknight | well that makes a bit more sense | ||
| particle | .sub|.end are first column | ||
| labels are two column indent | |||
| all other pir is four columns | |||
| all spaces, none trailing | |||
| NotFound | An utility that generates a lot of random opcodes, executes it, and save for revision those that segfault may be helpful. | ||
| Whiteknight | yeah, I suppose that is pretty easy | ||
| particle | of course, having options for those things is secondary | ||
| notfound: indeed | 00:08 | ||
| or something to twiddle bits in bytecode known not to segfault | |||
| would be nice to have a disassembler worknig well enough for that | |||
| NotFound | At least it can help to show how esay is to segfault parrot in the current state. | 00:09 | |
| particle | yep | ||
|
00:10
AndyA joined
|
|||
| NotFound | Look at #55640 for a recent example. | 00:10 | |
| DietCoke | so, PCT doesn't support HLL, right? | 00:18 | |
|
00:24
Zaba_ joined
|
|||
| particle | DietCoke: no, not yet | 00:25 | |
| DietCoke | ok. I'm going to hold off on converting tcl until then, then. | 00:50 | |
| I do wonder if it makes sense to ditch my templating language and use NQP, though. | 00:51 | ||
| meh. I'll leave it alone. :| | |||
| Whiteknight | particle, you're talking about a PASM disassembler? | 00:54 | |
| oh, particle left | |||
| dalek | r28247 | Whiteknight++ | gsoc_pdd09: | 00:56 | |
| : [gsoc_pdd09] basics of an "add_free_item" function, allows an item to be added directly to the free list. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28247 | |||
| r28248 | Whiteknight++ | gsoc_pdd09: | 01:23 | ||
| : [gsoc_pdd09] implemented the "more_objects" object recycler, at least a basic version of it. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28248 | |||
|
01:32
particle joined
02:06
AndyA joined
|
|||
| cotto_home | seen fperrad | 02:10 | |
| purl | I haven't seen 'fperrad', cotto_home | ||
| cotto_home | you lie! | ||
| purl would NEVER do such a thing to you, cotto_home! | |||
| cotto_home | There! You did it again! | ||
|
02:11
Zaba joined
02:16
cotto_home joined
|
|||
| Whiteknight | any C people in here? | 02:30 | |
| cotto_home | define "C" | 02:33 | |
| spinclad | #define C asm++ | ||
| otoh | |||
| parrot.isa(asm++) too | 02:34 | ||
| Whiteknight: i could look | |||
| Whiteknight | I'm trying to figure out about a particular coding standard | 02:35 | |
| spinclad | Whiteknight: which where? | 02:36 | |
| purl | which is probably more recommended IO::File or FileHandle? or nice or why entourage is a complete sack of shit | ||
| spinclad | purl, forget which | 02:37 | |
| purl | spinclad: I forgot which | ||
| Whiteknight | i'm trying to figure out about the oft-unused "register" keyword, and whether I can use it or not | ||
| cotto_home | iirc, it's a compiler hint that may or may not be ignored | ||
| spinclad | there's no guarantee it will make any difference | ||
| Whiteknight | yeah, i know what it is, i want to use it and wonder if i should or not | ||
| because i doubt it's used anywhere else in the codebase | 02:38 | ||
| DietCoke | PDD07 | 02:39 | |
| spinclad | Pattern not found | ||
| Whiteknight | yeah, i was about to say that | 02:40 | |
| it's standard C89, so i'm going to use it. Any hints I can give to the optimizer are good | 02:41 | ||
| cotto_home | pdd07 is www.parrotcode.org/docs/pdd/pdd07_codingstd.html | 02:42 | |
| pdd07? | |||
| purl | pdd07 is probably there for you ;-) | ||
| spinclad | i've heard of compilers allowing global register decls, but they're rare | ||
| cotto_home | no, pdd07 is www.parrotcode.org/docs/pdd/pdd07_codingstd.html | ||
| purl | okay, cotto_home. | ||
|
02:42
japhb joined
|
|||
| spinclad | anyway, i see no prohibition. | 02:45 | |
|
03:07
cotto_home joined
03:17
workbench joined
03:30
tetragon joined
03:34
TiMBuS joined
04:12
grim_fandango joined
04:15
Zaba_ joined
04:17
tetragon joined
|
|||
| DietCoke | cotto_work: You're the closest arrival to me. Any interest in sharing a cab =-) | 04:24 | |
|
04:46
dalek joined
|
|||
| cotto_home | DietCoke, sure | 04:46 | |
| (I'm cotto_work's alter ego.) | 04:49 | ||
|
04:51
iblechbot joined
|
|||
| cotto_home | DietCoke, confirm? | 04:57 | |
|
05:00
Eevee joined
|
|||
| cotto_home | I guess you're asleep. I'll just sync Thurs. | 05:01 | |
|
05:07
Zaba joined
05:30
Zaba_ joined
05:43
barney joined
|
|||
| dalek | r28249 | chromatic++ | trunk: | 06:01 | |
| : [lib] Made PMC emitter stick mro initialization in its own block, to avoid C89 | |||
| : violation that MSVC hates. (NotFound, RT #55590, providing overnight fixes | |||
| : since 2008). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28249 | |||
| r28250 | chromatic++ | trunk: | |||
| : [src] Changed yet another const_string to CONST_STRING. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28250 | |||
|
06:05
Zaba joined
|
|||
| dalek | r28251 | chromatic++ | trunk: | 06:14 | |
| : [io] Cleaned up the flipflopping C and C++ warnings related to Unix sockets | |||
| : (NotFound, RT #55590). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28251 | |||
|
06:14
Psyche^ joined
06:16
uniejo joined
06:32
grim_fandango joined
|
|||
| dalek | r28252 | chromatic++ | trunk: | 06:35 | |
| : [src] Fixed some const casting warnings (NotFound, RT #55590). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28252 | |||
| r28253 | chromatic++ | trunk: | 06:43 | ||
| : [IMCC] Removed constant string to char * casting warnings in IMCC from C++. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28253 | |||
|
06:52
Eevee joined
|
|||
| dalek | r28254 | chromatic++ | trunk: | 06:54 | |
| : [t] Fixed a test broken by r28252 that I didn't catch the first time. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28254 | |||
|
07:10
UltraDM joined
07:20
iblechbot joined
07:21
dalek joined
|
|||
| dalek | r28255 | fperrad++ | trunk: | 07:56 | |
| : [Lua] | |||
| : -improve string.byte() (Lua 5.2 preview) | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28255 | |||
|
08:03
allison joined
08:43
allison joined
|
|||
| dalek | r28256 | pmichaud++ | trunk: | 08:51 | |
| : [pge]: | |||
| : * ratcheting PGE::Exp::WS (<.ws>) rule doesn't need to backtrack | |||
| : * <.foo> rules are supposed to be non-capturing (RT#54380, tewk++) | |||
| : * 0..1 ratcheting quantified item doesn't need to backtrack | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28256 | |||
| Tene | Cardinal's make test used to take 37 seconds to run, and now takes 7 seconds to run. | 08:55 | |
| How can I meaningfully express that in "% faster"? | 08:56 | ||
| TiMBuS | i prefer '% of the old time' | 08:57 | |
| Tene | Me too. chromatic always says "% faster", though, and I'm not sure exactly what that means. | 08:58 | |
| TiMBuS | thats exactly what i was thinking too | ||
| heh | |||
| pmichaud | 30 / 37 | 08:59 | |
| purl | 0.810810810810811 | ||
| pmichaud | Cardinal's make test is 81% faster. | ||
| TiMBuS | so its like the compliment of '% of the old time' | ||
| pmichaud | yes. If something is 25% faster, then it takes only 3/4 as much time as before. | 09:00 | |
| TiMBuS | guess that makes sense | 09:01 | |
| Tene | pmichaud: perldoc PAST/Node.pir claims that ::Op accepts :pasttype('assign'), but afaict, that's not true. | ||
| pmichaud | correct, that ended up being unimplemented. | 09:02 | |
| Tene | Okay, thanks. | ||
| pmichaud | but :pirop('assign') should work, depending on what is being assigned. | ||
| :pasttype('assign') was from before when we had a reasonable 'copy' opcode | |||
| jonathan | morning | ||
| pmichaud | i.e., to do the morph+assign trick | ||
| morning, jonathan | |||
| today is rakudo day for you? | 09:03 | ||
| jonathan | Yes | ||
| Erm, are you up exceptionally early or exceptionally late? ;-) | |||
| Tene | morning, j. | ||
| pmichaud | exceptionally late -- was getting ready to get a couple of hours sleep | 09:04 | |
| jonathan | Tene: morning :-) | ||
| OK | |||
| Did the pmc2c bug get fixed? | |||
| jonathan svn up's hopefully | |||
| pmichaud | unfortunately I might not be around as much as I had planned today -- I'm likely to have to accompany Paula to the doctor's office today | ||
| ...pmc2c bug? | |||
| Tene | If I lie and say that I fixed it, will I have a net karma increase or decrease? | 09:05 | |
| jonathan | pmichaud: Some change to that was breaking the Rakudo build for at least myself and particle | ||
| (e.g. may be Win32 specific) | |||
| pmichaud | ah, okay. | ||
| jonathan | Build failed in perl6str PMC | 09:06 | |
| I see an update to that file though... | |||
| pmichaud | anyway, I'm heading to sleep. I'll either be back in approx 6 hours or otherwise much later than that. | ||
| Tene | seeya | 09:08 | |
| good luck | |||
| purl | well, good luck is all I can say. | ||
|
09:08
cotto_home joined
|
|||
| TiMBuS | theres no reverse op in parrot? | 09:08 | |
| 3: | |||
| Tene | reverse? | ||
| purl | reverse is verboten. or true? :) or needing lots of lube | ||
| jonathan | pmichaud: OK, sleep well. | ||
| TiMBuS | for strings | 09:09 | |
| Tene | TiMBuS: that would be a method in the string pmc, not an opcode. | ||
| TiMBuS | oh, im not really up to scratch on parrots' internals, i just assumed from string.ops they were standalone operations | 09:11 | |
|
09:13
Zaba_ joined
|
|||
| jonathan | Yup, builds works again. Now I can hack on Rakudo. Phew! | 09:13 | |
|
09:19
allison joined
|
|||
| spinclad | re % faster, aiui 25% faster would mean 125% as fast (5/4), or taking 4/5 as much time. its opposite would be 20% slower. so cardinal is (30/7 =) 428% faster. | 09:59 | |
| bacek | evening everyone | 10:19 | |
| jonathan | evening, bacek | ||
| (well, afternoon here...) | |||
| bacek almost see future | 10:20 | ||
| dalek | r28257 | jonathan++ | trunk: | 10:23 | |
| : [rakudo] Fill out the implementation of ^.., ..^ and ^..^ operators. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28257 | |||
| bacek | jonathan, can you review #55438 please? (It probably will require another patch for eval from #55304...) | 10:27 | |
| jonathan digs into roles, having done the ranges patch to get properly woken up | 10:28 | ||
| bacek: Any idea what this is about: | 10:29 | ||
| - proclaim($cond, $desc); | |||
| + &proclaim($cond, $desc); | |||
| Why do we need the sigil on there, if just calling it? | |||
| bacek | We don't? I'll try without it. | 10:31 | |
| Just a sec | |||
| jonathan | In general though, I don't think I'm a good person to apply patches to Test.pm. I just don't know it well enough to be able to make a good enough judgement call on whether patches to that are good or not. | 10:33 | |
| If it gets an OK for particle or pmichaud, I'm happy to actually apply it. | |||
|
10:35
cosimo joined
|
|||
| bacek | (we don't need &) It's always good to learn something new :) | 10:35 | |
| jonathan | I'm thinking that rt.perl.org/rt3//Public/Bug/Display...l?id=44297 can be closed now? | 10:36 | |
| bacek | jonathan, indeed | 10:38 | |
| jonathan | Hmm. You have several unapplied patches. | 10:40 | |
| "Implementation of List.min and List.max" looks quite sane to me | 10:42 | ||
| bacek | jonathan, pmichaud is quite busy to check them :) | 10:44 | |
| jonathan | yeah | 10:45 | |
| bacek: Are we passing much/any of svn.pugscode.org/pugs/t/spec/S29-list/minmax.t with this patch? | 10:49 | ||
| bacek | all tests passed | 10:52 | |
| jonathan | Nice! | ||
| bacek | (But it's better to check again on 'clean' checkout :) | 10:53 | |
| jonathan | Sure, doing so here. | 10:54 | |
| Will commit that and adding it to spectet_regression if it all passes. | |||
| bacek | jonathan, there is more passing tests, btw. | ||
| (ok 24 for minman) | 10:56 | ||
| #55368 should be closed. pmichaud applied it. | 11:01 | ||
| jonathan | bacek: Not seeing that here | 11:03 | |
| t\\spec\\S29-list\\minmax.....................ok 1/24too many arguments passed (4) | |||
| - at most 2 params expected | |||
| current instr.: 'parrot;List;min' pc 2959 (src/gen_builtins.pir:2012) | |||
| t\\spec\\S29-list\\minmax.t 1 256 24 44 3-24 | |||
|
11:04
tetragon joined
|
|||
| bacek | jonathan, oops... I did't commit minmax.t cause I'm not sure about correctness of fix. | 11:04 | |
| just a sec | |||
| -is max({ abs $^a <=> abs $^b }, @array), -9, | 11:05 | ||
| +is max({ abs 0+$^a <=> abs 0+$^b }, @array), -9, | |||
| This sample of changes.. | |||
| -isnt @array.max: { $^a <=> $^b }, -9, | 11:06 | ||
| +isnt (@array.max: { $^a <=> $^b }), -9, | |||
| this is another... | |||
| jonathan | Oh, I see | ||
| bacek | What is precedence of comma after '}' in second case? | ||
| jonathan | erm | ||
| jonathan tries to think | |||
| bacek thinking... 13% done... | 11:07 | ||
| jonathan | S12 | 11:08 | |
| In case of ambiguity between indirect object notation and dot form, the nearest thing wins: | |||
| dothis $obj.dothat: 1,2,3 | |||
| means | |||
| dothis ($obj.dothat(1,2,3)) | |||
| bacek | looks like it not supported in rakudo (yet) | 11:09 | |
| or just a sec... | |||
| jonathan | oh, what | ||
| I'm not sure if that's the thing we're talking about. | |||
| s/what/wait/ | |||
| bacek | our List multi min( Ordering @by, *@values ) | 11:10 | |
| jonathan | OK, I suggest I put min/max patch for list in now, and then we ask pmichaud about the syntax in the test file later. | 11:11 | |
| @by? | |||
| bacek | If you right (and I'm sure in it), than original test case is incorrect. | ||
| min({ abs $^a <=> abs $^b }) | |||
| our List multi min( Ordering $by = &infix:<cmp>, *@values ) | 11:12 | ||
| (it is second form of sort() for List) | |||
| s/sort/min/ | |||
| dalek | r28258 | jonathan++ | trunk: | 11:13 | |
| : [rakudo] Fix trailing whitespace. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28258 | |||
| r28259 | jonathan++ | trunk: | |||
| : [rakudo] Add min and max to list. Patch courtesy of Vasily Chekalkin (bacek++). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28259 | |||
| nopaste | "bacek" at 202.7.166.181 pasted "Full patch of minmax.t" (50 lines) at nopaste.snit.ch/13235 | 11:14 | |
| jonathan | bacek: OK, let's run that by pm later. | 11:15 | |
| bacek | jonathan, ok | ||
| jonathan | But the min/max patch looked good, so that's in. Thanks! And one less for pm. :-) | 11:16 | |
| bacek | :) | 11:17 | |
| jonathan | bacek: For your uniq patch | ||
| comparer = get_hll_global 'infix:eq' | |||
| I'm not sure forcing everything to be stringified is the Right Thing. | 11:18 | ||
| bacek | jonathan, probably. But 'uniq' is totally unspecced... | 11:19 | |
| I got idea from tests... | |||
| I think that 'infix:<=>' is better as default comparer. | 11:20 | ||
| (But S29-list/uniq.t fails with <=>...) | 11:23 | ||
| dalek | r28260 | kjs++ | trunk: | 11:25 | |
| : [ecmascript] implement return statement | |||
| : + add a test | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28260 | |||
| bacek | yeah! infix:~~. | 11:26 | |
| bacek forgot about it once again... | |||
|
11:31
tetragon joined
12:00
tetragon joined
12:22
Whiteknight joined
|
|||
| dalek | r28261 | Whiteknight++ | gsoc_pdd09: | 12:31 | |
| : [gsoc_pdd09] updating to trunk r28260 | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28261 | |||
| r28262 | jonathan++ | trunk: | 12:46 | ||
| : [core] addattribute op should work for roles as well as classes. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28262 | |||
|
13:00
gryphon joined
|
|||
| dalek | r28263 | jonathan++ | trunk: | 13:07 | |
| : [rakudo] A few changes to get us a little further along with role attributes. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28263 | |||
|
13:09
smash joined
|
|||
| smash | hello everyone | 13:09 | |
|
13:17
iblechbot joined
|
|||
| dalek | r28264 | jonathan++ | trunk: | 13:22 | |
| : [rakudo] Initial work to support basic attribute composition. Far from complete, but gets private attributes from a directly composed role working. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28264 | |||
| r28265 | jonathan++ | trunk: | 13:30 | ||
| : [rakudo] Get accessor and handles methods of roles in the correct namespace, making composition of public attributes work. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28265 | |||
|
13:33
Zaba joined
|
|||
| dalek | r28266 | jonathan++ | trunk: | 13:33 | |
| : [rakudo] Add passing regression test for some basic role attribute composition to spectest_regression. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28266 | |||
|
13:56
contingencyplan joined
14:10
cognominal joined
14:13
Andy joined
14:32
jhorwitz joined
14:37
grim_fandango joined
14:39
ruoso joined
14:42
IllvilJa joined
|
|||
| dalek | r28267 | jonathan++ | trunk: | 14:53 | |
| : [rakudo] Support 'is rw' on attribute declarations. Trying to use the accessor in l-value context when it's not marked 'is rw' now results in an exception, as per S12. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28267 | |||
| jhorwitz | crap. something broke mod_perl6 | 14:56 | |
| jhorwitz finds his debugging hat... | 14:57 | ||
| jonathan hopes he's not to blame | 14:59 | ||
| jhorwitz: When you work out what, let's make sure we add a regression text. | |||
| s/text/test/ | |||
| jhorwitz | jonathan: definitely. none of my HLL modules have tests yet. | 15:00 | |
| dalek | r28268 | Whiteknight++ | gsoc_pdd09: | 15:01 | |
| : [gsoc_pdd09] updating branch to trunk r28260 | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28268 | |||
| pmichaud | pong | 15:09 | |
| dalek | r28269 | jonathan++ | trunk: | ||
| : [rakudo] Fix 'handles'. The fact we have to do this may point to a PCT bug - it hadn't used to require a PAST::Val node here. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28269 | |||
| jhorwitz realizes he was wearing his moron hat | 15:10 | ||
| it is wise to actually to load mod_perl6 in httpd.conf when running perl6 handlers. DOH! | 15:11 | ||
| jonathan | :-) | 15:12 | |
|
15:12
obra joined
|
|||
| jhorwitz obviously needs more coffee | 15:12 | ||
| pmichaud | (min/max) I'm preferring to export the actual Parrot methods as opposed to creating separate wrapper functions. | 15:16 | |
|
15:17
particle joined
|
|||
| pmichaud | oh, wait, these have slurpy arguments. | 15:18 | |
| never mind. | |||
| purl | Okie dokie | ||
| jonathan | pmichaud: See www.parrotvm.org/svn/parrot/revision?rev=28269 - maybe something to fix in PCT, but your call. | ||
| Also, I'm looking at the spectest for handles. | |||
| It does stuff like | |||
| ok Backend1.new, "class definition worked"; | 15:19 | ||
| Which at the moment gives us "get_bool not implemented on class Backend1" | |||
| pmichaud | right, I need to set up defined and true | ||
| in class Object | |||
| jonathan | Should Object by default have a get_bool that returns true, and proto-object overrides it with false? | ||
| pmichaud | I think that get_bool should call .true | 15:20 | |
| jonathan | OK, can do that. | ||
| pmichaud | but wait | ||
| (checking spec) | |||
| jonathan | ok | ||
| pmichaud | S02: # The definition of .true for the most ancestral type (that is, the Object type) is equivalent to .defined. Since protoobjects are considered undefined, all protoobjects (including Object itself) are false unless the type overrides the definition of .true to include undefined values. Instantiated objects default to true unless the class overrides the definition. Note that if you could instantiate an Object it would be considered defined, and thus t | 15:22 | |
| jonathan | OK | 15:23 | |
| pmichaud | I was actually going to do that part :-) | ||
| jonathan | So we call .true from get_bool, which calls .defined | ||
| pmichaud | the generic mechanism for changing a class' boolean value will be to override .true. | ||
| jonathan | OK, soon? I'm keen to get at least some test in for handles, since it broke and I like to get tests in for things so we're less likey to accidentally break them again. :-) | 15:24 | |
| pmichaud | I can do it this morning. | ||
| jonathan | Yes, makes sense. | ||
| pmichaud | like, in the next hour or so. | ||
| jonathan | OK, I can leave it to you if you want it. :-) | ||
| pmichaud | re: r28269.... why do you need a node called '1' ? | ||
|
15:24
particle1 joined
|
|||
| pmichaud | sorry, parameter called '1'? Actually, what is that? I need to look at actions.pm. | 15:25 | |
| jonathan | Oh, context | ||
| it's in handles | |||
| It's to generate the PIR :flat :named | |||
| Before :flat(1), :named(1) did it fine | |||
| Now you have to stick a PAST::Val in :named - it still emits the correct code. | 15:26 | ||
| It's just gathering and forwarding the arguments. | |||
| pmichaud | that's definitely a pct bug | ||
| jonathan | OK, suspected so. | ||
| pmichaud | however, do we have to do it that in PAST at all? | 15:27 | |
| why not just call a function that does the forwarding for us? | |||
| jonathan | No, we're actually generating a forwarder method. | ||
| pmichaud | oh. | ||
| jonathan | If we called a forwarder function, we'd still have to generate the method... | ||
| And we'd still have to pass it the args. :-) | 15:28 | ||
| pmichaud | okay, works for me for now. | 15:29 | |
| (something seems odd about it to me at the moment, but I can't figure out what it is.) | |||
| checking pct bug. | |||
| weird. I don't know what I was thinking when I wrote that. | 15:31 | ||
| cotto_work | DietCoke, ping | ||
| pmichaud | jonathan: r28270 should fix the :named(1). (untested -- can you test?) | 15:33 | |
| dalek | r28270 | pmichaud++ | trunk: | ||
| : [pct]: | |||
| : * Fix bug with :flat :named argument nodes (jonathan++) | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28270 | |||
| jonathan | pmichaud: Will do soon, just got something in the works here. | 15:35 | |
| dalek | r28271 | tene++ | trunk: | 15:51 | |
| : [cardinal] | |||
| : * Faster | |||
| : * Cleaner | |||
| : * Parse many things we couldn't parse before | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28271 | |||
| Tene | Horrible commit message, I know, but I need to go teach class now. | 15:52 | |
| pmichaud | jonathan: I'll have to work on C<true> after lunch -- it's a bit more involved than originally expected (because there are a lot of classes and objects that are overriding vtable_get_bool | 16:02 | |
| so we're ending up in loops. | |||
| but I'll do it immediately after lunch. | |||
| jonathan | pmichaud: OK, no worries. | 16:03 | |
| I'm busying myself with a few type-related things. | |||
| Check this bit of evil in S12 out: | 16:04 | ||
| "Two has attributes of the same name, whether public or private, are simply merged into one slot, provided the types are the same; otherwise, the composition fails." | |||
| So, attribute types are going in... | |||
| particle1 | is that for roles? | ||
| jonathan | particle1: Yup. | ||
| particle1 | sweet evil. | 16:05 | |
| jonathan | Yeah, it made me implement attribute types. | ||
| Then I forgot that this was what I was meant to be doing and when and got is rw working on attributes first... | |||
| s/when/went/ | |||
| particle1 | that won't *hurt* anything, though :) | ||
| jonathan | ;-) | 16:06 | |
| Yeah, good to have it. | |||
| Now when I give slides on attributes, I cna leave out the "and one day you will be able to write is rw..." | |||
| Roles are quite a lot of work. | 16:07 | ||
| particle1 | what, you mean it won't be done today? or you'll need another tea first? | ||
| jonathan | Erm. I don't think I'll get generic ones done today. :-P | ||
| particle | i'm *so* far behind | 16:08 | |
| but finding work and rebuilding my machine have to take priority | |||
| jonathan | Method composition works, and basic attrib comp does as of today now too. | ||
| dalek | r28272 | Whiteknight++ | gsoc_pdd09: | ||
| : [gsoc_pdd09] wrote black and grey marking functions, updated Small_Object_Pool and Gc_it_pool_data structures to be more compact | |||
| particle | do you have 'resolves' done? | ||
| dalek | diff: www.parrotvm.org/svn/parrot/revision?rev=28272 | ||
| particle | is that what it's called, to name a method something else when composed in the class? | 16:09 | |
| jonathan | Parrot supports that, and there's tests for it. I'm not sure Perl 6 actually does that, though. Or at least, I'm not seeing it in the spec... | 16:10 | |
| particle | i'm pretty sure i does | ||
| jonathan | There are several ways to solve method conflicts. The first is simply to write a class method that overrides the conflicting role methods, perhaps figuring out which role method to call. | 16:11 | |
| Alternately, if the role's methods are declared multi, they can be disambiguated based on their long name. If the roles forget to declare them as multi, you can force a multi on the roles' methods by installing a proto stub in the class being constructed | |||
| (that was from S12) | |||
| Thsoe are the only two ways it mentions. I'd not tended to count two as several, but... :-) | |||
| particle | yeah, that's what i'm reading now | 16:12 | |
| jonathan | The original traits paper mentioned such a mechanism. | 16:13 | |
| particle | yep | ||
| and like you said, parrot has it | |||
| but i suppose using a class method works instead of using a trait | 16:14 | ||
| jonathan | Yup. | ||
| particle | btw any reason it's trait_auxiliary: instead of trait: ? | 16:15 | |
| jonathan | There are trait_verb as well | ||
| rule trait { | <trait_auxiliary> | <trait_verb> | |||
| } | |||
| particle | ah, right | ||
| jonathan | I'm not 100% sure exactly why or what the distinction is. | 16:16 | |
| particle | auxiliary is an ugly word, though | ||
| jonathan | But different trait-ish things are consistently distinguished. So I'm guessing there is a reason. | ||
| particle | the verbs don't have a sig | ||
| they're not multis | |||
| jonathan | Oh | 16:17 | |
| You're right. | |||
| OK, that's why. :-) | |||
| particle | but 'trait_multi' and 'trait_verb' sound better to me | ||
| however multi and verb don't quite fit the same class of words | 16:18 | ||
| anyway, it's just paint. | |||
|
16:18
AndyA joined
|
|||
| jonathan | Sure | 16:18 | |
|
16:18
sjansen joined
|
|||
| particle | did you do trait_verb yet? | 16:18 | |
| i assume it'd be easy, considering there's no sig | 16:19 | ||
| jonathan | The handles trait verb is already implemented, on attributes. | 16:20 | |
| returns - not yet, but now the return statement is in, I may look at return type stuff. | 16:22 | ||
| dalek | r28273 | jonathan++ | trunk: | 16:43 | |
| : [rakudo] Allow types to be declared on attributes and enforce them. We also move a little closer to STD.pm in this patch and gain support for type conjunctions (the code was there, just not being called into), so you can do my Type1 Type2 $foo. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28273 | |||
| DietCoke | Whiteknight: If you are concerned about checking something that should obviously be true, use an assertion. | 17:03 | |
| those will get eliminated in optimized builds, IIRC. | |||
| Whiteknight | okay | 17:05 | |
| thanks | |||
| cotto_work | DietCoke, ping | ||
| DietCoke | pong | 17:07 | |
| Whiteknight: ack for PARROT_ASSERT | |||
| Andy | Hey, who is Whiteknight anyway | ||
| purl | i heard Whiteknight was updating the book. It talks about .pragma fastcall, pushing and popping arguments onto the user stack, etc | ||
| Whiteknight | I know PARROT_ASSERT, i just need to use it more | ||
| Andy | I keep seing postings. | ||
| Whiteknight | I'm working on the PDD09 GC | 17:08 | |
| cotto_work | sharing a cab from ORD tomorrow sounds fine | ||
| Andy | But do you have a name, pardner? | ||
| Whiteknight | Andrew | ||
| cotto_work | Since I'm arriving first, I'll hang out near where your flight will arrive and we can go from there. | ||
| jonathan | pmichaud: The PCT fix didn't work; not it generates: $P68 = $P65."go"($P66 :flat :named :flat, $P66 :flat :named :flat) | 17:09 | |
| Zaba | is it normal that quite a lot of tests fail when I run make spectest_regression in perl6? | 17:10 | |
| cotto_work | port25.technet.com/archive/2008/03/...s-lab.aspx | ||
| shorten | cotto_work's url is at xrl.us/bphf2 | ||
| jonathan | Zaba: No, they shouldn't be failing. :-S | ||
| cotto_work | I'm in the bottom picture, leftmost | ||
| Zaba | jonathan, I got quite a lot of dubious results and some failures.. | 17:11 | |
| jonathan | OK, that's odd | ||
| DietCoke | cotto_work: I'm not getting in until later. Is it worth waiting for you? | ||
| (catching up) Awesome. | |||
| jonathan | Zaba: I have some local changes, but not much, and it's looking pretty clean here...just running it now. | 17:12 | |
| Zaba: Yup, I get a clean sheet. Do you have latest? | 17:13 | ||
| Zaba | jonathan, I svn up'd about 10 minutes ago | ||
| (it took time to build parrot, make test parrot..) | |||
| jonathan | OK, that's odd. | 17:14 | |
| What platform are you on? | |||
| Zaba | linux amd64 | ||
| jonathan | Did the Parrot tests pass pretty cleanly? | 17:15 | |
| DietCoke | cotto++ | ||
| jonathan | And any chance you can nopaste the output from make spectest_regression, so I can see if I can spot some pattern? | ||
| Zaba | jonathan, yup | 17:16 | |
| and yes | |||
| I will pastebin the failure summary | |||
| dalek | r28274 | Whiteknight++ | gsoc_pdd09: | ||
| : [gsoc_pdd09] wrote some basic functions to deal with root items and the queue. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28274 | |||
| Zaba | rafb.net/p/LMCgOV69.html | ||
| parrot r28266 | 17:17 | ||
| hmm. I indeed missed a bit | |||
| should I try to svn up? | |||
| jonathan | My word that's a lot of failures... | 17:18 | |
| Yes, and perhaps try a make realclean if you didn't do one before this build. But I'm surprised the Parrot tests all passed if there is an issue. | 17:19 | ||
| Zaba | okay | ||
| pmichaud | :flat :named :flat ?! | ||
| I don't quite see how it could do that... but | |||
| Zaba | I will try make realclean | ||
| pmichaud | hrm. | ||
| jonathan: can you send me a sample code snippet so I can generate it on my box? | 17:20 | ||
| jonathan | class Foo { has $.x handles 'go' } | ||
| You'll need to undo the actions.pm change I put in earlier today for it too | |||
| pmichaud | good enough, thanks. | 17:21 | |
| jonathan | np | 17:23 | |
| pmichaud | jonathan: r28275 | 17:31 | |
| dalek | r28275 | pmichaud++ | trunk: | ||
| : [pct]: | |||
| : * Really fix :named :flat this time. (jonathan++) | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28275 | |||
| jonathan | Thanks, will check in a moment...just fighting with attribute composition. | 17:32 | |
| Zaba | jonathan, I still have dubious results here | 17:34 | |
| after make realclean | |||
| and passing all parrot tests | |||
| jonathan | Zaba: OK, then I'm confused. | 17:43 | |
| Zaba | jonathan, about the same amount of failures.. | 17:44 | |
| jonathan | Zaba: OK, let me make a clean build here. | ||
| With svn head | |||
| And see if I can reproduce anything like you're seeing. | |||
| dalek | r28276 | jonathan++ | trunk: | ||
| : [rakudo] Get us closer to S12 role composition semantics for attributes. This patch implements, 'Two has attributes of the same name, whether public or private, are simply merged into one slot, provided the types are the same; otherwise, the composition fails.' Also, move some code around to make sure we do the role composition once everything inside the class has been declared, not before, as per the spec. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28276 | |||
| jonathan | If I can't, I'm suspecting it maybe is platform specific. | 17:45 | |
| Zaba | hmmm | ||
| jonathan | But that answer feels odd to me. | ||
| pmichaud | zaba: (I'm coming into the middle of this) what platform? | 17:48 | |
| Zaba | pmichaud, linux amd64 | ||
| pmichaud | which linux? | ||
| Zaba | pmichaud, gentoo | 17:49 | |
| pmichaud | hrm. | 17:50 | |
| any options to Configure.pl ? | |||
| Zaba | nope | ||
| Infinoid tries to reproduce it on his gentoo amd64 box | |||
| particle | jonathan: are the attributes merged into a public, or private slot? | 17:51 | |
| cotto_work | Zaba, does svn st list any changes? | ||
| Zaba | cotto_work, no | 17:52 | |
| jonathan | particle: Not entirely sure what you're asking. These are role attributes declared with has, and the declarations with has are done as if they had been declared in the class itself. | ||
| particle: You can declare an attribute that is not visible to the class at all, with my $!foo, but I didn't implement this yet, and those are truely private. | 17:53 | ||
| particle | multiple attributes of same name are wedged into the same slot | ||
| jonathan | particle: Only if the type matches. | ||
| particle | yes | ||
| but one may be private, another public | |||
| jonathan | If the type doesn't match, you can a composition error. | ||
| Sure, then they are both public. | |||
| Declaring $.foo is just generating a foo accessor method. | 17:54 | ||
| particle | that's what i'm asking. if one is public, then effectively they both are | ||
|
17:54
gryphon joined
|
|||
| jonathan | Yes, but if the composition suceeded because they had the same type, then there isn't a both. | 17:54 | |
| They're sharing a slot. | |||
| particle | right, but if a role expects the attribute to be private, whoops! | 17:55 | |
| ...some method in the role, that is | |||
| jonathan | How so? | ||
| Then it just means the class has decided to expose it. | |||
| particle | it's difficult for me to think of a real-world use case | ||
| jonathan | If a role wants true privacy, it can use my $!x, and the class can't even see that. | ||
| That's about next on my implementation list, but I should probably eat first. | 17:56 | ||
| particle | yes, but does $!x exist past class composition time? | ||
| jonathan | Yes. | ||
| particle | ah, okay then. | ||
| jonathan | It's a private attribute. | ||
| particle | role-private | ||
| jonathan | Right. | ||
| Was as has $!x in a role is class-private. | |||
| particle | meaning if a class overrides a role's method, that method can't see it | 17:57 | |
| jonathan | Right. | ||
|
17:57
iblechbot joined
|
|||
| jonathan | my $!x # can only be seen in the role | 17:57 | |
| particle | can it be seen in roles that are composed into the role? | ||
| jonathan | No. | ||
| particle | ...a role made from many roles | ||
| ok | |||
| jonathan | The "my" gives it lexical semantics. | 17:58 | |
| Outside of that block, it's not visible. | |||
| Infinoid | rakudo test passes here, several spectest failures. (most of those are along the lines of "Statement not terminated properly" or "Syntax error") | ||
| jonathan | Infinoid: Is that spectest or spectest_regression? | ||
| particle | spectest should fail a lot. spectest_regression should pass everything | ||
| Infinoid | jonathan: spectest | ||
| ok, so it sounds normal | 17:59 | ||
| jonathan | Ok, fine. What particle said. | ||
| If spectest_regression passes them all, then we're good. | |||
| OK, I'm going to go grab some fast food rather than cooking, so I can keep on hacking. | |||
| Back in a little while. | |||
| Infinoid lets that run for a while | |||
| DietCoke | jonathan, no fast food! | 18:01 | |
| Infinoid | To make a decent plate of nachos, start with the big bang. | 18:03 | |
| ccache helps. | 18:05 | ||
| nopaste | "Infinoid" at 96.238.213.50 pasted "My rakudo spectest_regression results: FAIL" (129 lines) at nopaste.snit.ch/13237 | 18:07 | |
| dalek | r28277 | Whiteknight++ | gsoc_pdd09: | 18:09 | |
| : [gsoc_pdd09] more notes, comments. Info about root items. some conditionals. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28277 | |||
| Tene | So, there are some linux amd64 errors of some sort? | 18:10 | |
| Huh, I'm getting a bunch of failures too. | 18:13 | ||
| pmichaud wonders if it's time for him to switch back to 64-bit linux. | 18:15 | ||
| Tene | Just go halfway. 48-bit ftw. | 18:16 | |
|
18:23
davidfetter joined
|
|||
| DietCoke | tene;did you try the obligatory realclean? | 18:24 | |
| Tene | I did! I tried it first this time! | ||
| dalek | r28278 | Whiteknight++ | gsoc_pdd09: | 18:32 | |
| : [gsoc_pdd09] add functions to obtain an objects flag from the card, and start rewrite of pobject_lives | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28278 | |||
| Tene | Segfaults! | 18:33 | |
| purl | No whammies! | ||
| Infinoid | yep, here too, here comes a backtrace | 18:35 | |
| nopaste | "Infinoid" at 96.238.213.50 pasted "t/spec/S02-builtin_data_types/type.rakudo segfault" (45 lines) at nopaste.snit.ch/13238 | 18:36 | |
|
18:43
cjfields joined
18:46
barney joined
|
|||
| Infinoid | r27000 passes. bisecting... | 18:48 | |
|
18:54
Ivatar joined
|
|||
| dalek | r28279 | chromatic++ | trunk: | 19:13 | |
| : [Pheme] Fixed several Pheme parsing failures, after PGE backtracking changed in | |||
| : r28256. (In particular, '() gets parsed as two atoms, a quote and an empty | |||
| : cons, rather than a single atom -- the empty cons.) | 19:14 | ||
| : One parse failure remains, though all tests pass. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28279 | |||
| Infinoid | there's one spectest_regression failure in r28256 which seems to be unrelated to the segfault I'm tracking down | 19:28 | |
| all the segfaults began with r28257. | |||
| (maybe it's exercising the internals harder? or using a new unstable feature of parrot?) | |||
| pmichaud | interesting. | 19:30 | |
| I actually happen to be re-writing the Range code at the moment, so perhaps what I write will fix things. | |||
| Infinoid | I am happy to test patches as needed | 19:31 | |
| here are more nopastes, for the logs: | 19:34 | ||
| jonathan | pmichaud: Re-writing it? Was it really that bad? | ||
| nopaste | "Infinoid" at 96.238.213.50 pasted "One spectest_regression failure in r28256 (unrelated to the segfault I'm tracking)" (99 lines) at nopaste.snit.ch/13240 | ||
| "Infinoid" at 96.238.213.50 pasted "Many spectest_regression failures in r28257" (153 lines) at nopaste.snit.ch/13241 | |||
| pmichaud | I started a refactor and then decided rewriting was quicker. | ||
| dalek | r28280 | Whiteknight++ | trunk: | 19:35 | |
| : [pdd09] updating function and macro names to satisfy pdd09 deprecation notes. rt#55364 | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28280 | |||
| jonathan | Infinoid: Does -G make any difference? Is this GC related? | ||
| pmichaud | but I can't get 'clone' to work properly. | ||
| Infinoid | jonathan: let me check | ||
| jonathan | pmichaud: OK, would be interested to know, what was wrong with the original... | ||
| pmichaud | checking the end of the range shouldn't be done by decrementing the end, for one. | ||
| Infinoid | zsh: segmentation fault ../../parrot perl6.pbc t/spec/S02-builtin_data_types/type.rakudo | ||
| zsh: segmentation fault ../../parrot -G perl6.pbc t/spec/S02-builtin_data_types/type.rakudo | |||
| pmichaud | the code I have feels more in tune with what the spec says about how iteration should be done. | 19:36 | |
| jonathan | OK, fine. | ||
| pmichaud | also, I factored out the boundary tests into their own private methods so we aren't repeating ourselves | ||
| I also didn't like the separate tests for both exclusivity (e.g., in accepts) -- we can test each end individually. | 19:37 | ||
| jonathan | Ok. You can re-do the role attributes afterwards. ;-) | 19:40 | |
| pmichaud | :-) | ||
| I'm really confused why the clone vtable isn't working, though. | |||
|
19:40
AndyA joined
|
|||
| jonathan | That's odd... | 19:40 | |
| purl | Well, what the fuck did you EXPECT? | ||
| jonathan | ... | ||
| Whiteknight | HA! | 19:41 | |
| pmichaud | right now I have | ||
| .sub 'clone' :method :vtable .local pmc from, to from = getattribute self, '$!from' to = getattribute self, '$!to' .return 'infix:..'(from, to) | |||
| .end | |||
| grrr. | |||
| jonathan | The original, cloned from and to as well, I think. | ||
| nopaste | "pmichaud" at 76.183.97.54 pasted "Range clone" (6 lines) at nopaste.snit.ch/13243 | ||
| pmichaud | but afaict, it never gets invoked. | ||
| jonathan | You've just a "say" in there to check? | 19:42 | |
| pmichaud | been following trace output, actually | ||
| jonathan | s/just/put/ | ||
| OK, that should be indicative too. | |||
| pmichaud | oh, 'say' gives me something different. | 19:43 | |
| jonathan | It's just clone that seems to not be being called? Other v-table methods work? | ||
| pmichaud | > say 1..5 | ||
| cloning Range | |||
| src/inter_call.c:301: failed assertion 'PObj_is_PMC_TEST(sig_pmc)' | |||
| Backtrace - Obtained 19 stack frames (max trace depth is 32). | |||
| jonathan | Ouch. | ||
| pmichaud | same results for "my @a = 1..5;" | ||
| I'll turn on tracing at that point. | 19:44 | ||
| ohhhhh | |||
| I bet it's a tailcall problem. | |||
| jonathan | Oh! | ||
| Yes, it is. | |||
| pmichaud | can't do tailcalls in 'clone', I guess? | 19:45 | |
| jonathan | Now I remember - I tried to write it just like that this morning. | ||
| And it didn't work, so removed the tailcall again. | |||
| It seems so. I think it's a more general thing with tailcalls close to the C boundary. | |||
| pmichaud | I guess that deserves a ticket somewhere. | ||
| jonathan | If it doesn't already have one, then yes, for sure. | ||
| OK, time to write some tests for the various things I did in the last couple of patches... | 19:46 | ||
| pmichaud | it appears to have trouble with any form of method call from within clone, also. | 19:47 | |
| jonathan | :-S | ||
| OK, that I haven't seen. | |||
|
19:48
tene_evalbot joined
|
|||
| Tene | cardinal: puts "foo" | 19:49 | |
| tene_evalbot | No output (you need to produce output to STDOUT) | ||
| Tene | Yay, death! | ||
| moritz | why does that evalbot look familiar to me? ;-) | 19:50 | |
| Tene | ;) | ||
| pmichaud | you scared him off. | ||
|
19:50
tene_evalbot joined
|
|||
| Tene | I have plans to have it pastebin --target={parse,past,pir} | 19:50 | |
| cardinal: puts "foo" | |||
| tene_evalbot | OUTPUT[Syntax error at line 1, near "puts \\"foo\\""ā¤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)ā¤called from Sub 'parrot;cardinal::Grammar;TOP' pc 4382 (src/gen_grammar.pir:154)ā¤called from Sub 'parrot;PCT::HLLCompiler;parse' pc 562 | ||
| ..(src/PCT/HLLCompiler.pir:348)ā¤called from Sub 'parrot;PCT::HLLCompiler;co... | |||
| Tene | Huh. | 19:51 | |
| cardinal: puts "foo"; | |||
| tene_evalbot | OUTPUT[fooā¤] | ||
| Tene | Oh, cardinal requires newline at the end. | ||
| That sound useful to anyone? | 19:53 | ||
| cotto_work | cardinal: make Tene's computer explode; | ||
| tene_evalbot | OUTPUT[Syntax error at line 1, near "make Tene'"ā¤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)ā¤called from Sub 'parrot;cardinal::Grammar;TOP' pc 4382 (src/gen_grammar.pir:154)ā¤called from Sub 'parrot;PCT::HLLCompiler;parse' pc 562 | ||
| ..(src/PCT/HLLCompiler.pir:348)ā¤called from Sub 'parrot;PCT::HLLCompiler;comp... | |||
| Tene | hehe | 19:54 | |
| cotto_work | is that for any language in svn? | ||
| Tene | It will be by the end of the day, if you'd like it to be. | ||
| DietCoke | yes, lease. | 19:55 | |
| jonathan | lolcode_evalbot... | ||
| DietCoke was hoping to get his tcl bot back. =-) | |||
| moritz | Tene: try to cut off all these stack traces | ||
| Tene: they produce a lot of output, but usually only the first line is really of interest | 19:56 | ||
| Tene | moritz: my plan is to pastebin it if it's more than a line or two. | 19:58 | |
| moritz | Tene: seems sensible | 19:59 | |
| cotto_work | cardinal: puts 'Tene++'; | 20:00 | |
| tene_evalbot | OUTPUT[Tene++ā¤] | ||
| moritz | cardinal: "test" | 20:01 | |
| tene_evalbot | OUTPUT[Syntax error at line 1, near "\\"test\\""ā¤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)ā¤called from Sub 'parrot;cardinal::Grammar;TOP' pc 4382 (src/gen_grammar.pir:154)ā¤called from Sub 'parrot;PCT::HLLCompiler;parse' pc 562 | ||
| ..(src/PCT/HLLCompiler.pir:348)ā¤called from Sub 'parrot;PCT::HLLCompiler;compil... | |||
| dalek | r28281 | Whiteknight++ | gsoc_pdd09: | 20:02 | |
| : [gsoc_pdd09] updating to trunk r28280 | |||
| pmichaud | apparently method tailcalls in vtable methods are bad. | ||
| dalek | diff: www.parrotvm.org/svn/parrot/revision?rev=28281 | ||
| jonathan | dies_ok { class C2 does R2 { has $!a } }, 'Roles with conflicing attributes'; | 20:03 | |
| That seems not to be catching the exception. | |||
| DietCoke | isn't there a tailcall ticket or two open? | ||
| pmichaud | all of the *dies* functions probably need some work. | ||
| moritz | jonathan: dies_ok doesn't catch compile time errors | 20:04 | |
| pmichaud | i.e., exception handling still isn't quite right there yet. | ||
| (although it's on its way) | |||
| moritz | which is why we need eval_dies_ok for those cases | ||
| particle | DietCoke, cotto_work: care to wait until my 6:20 arrival to leave for iit? | ||
| jonathan | OK, does eval_dies_ok work? | ||
| moritz | mostly at least ;) | 20:05 | |
| particle | oh, actually, i arrive before coke | ||
| DietCoke | particle: that's before I get in. | ||
| cotto_work | particle, you're arriving before DietCoke, so I don't see a problem | ||
| DietCoke | so yes, I'll wait, and he's already waiting for me. =-) | ||
| particle | :) | 20:06 | |
| DietCoke | this cab ride is getting much cheaper for me! | ||
| jonathan | heh | ||
| Lots of continuation runloop jumping fun now. | |||
| pmichaud | do you guys want to wait for me? ;-) | ||
| particle | cotto: i bet you get in right near my gate, since we're both on alaska | ||
| cotto_work | particle, can you put your flight on the wiki so I know where to look for you? | ||
| particle | get your own cab, pmichaud :P | ||
| cotto_work, done | |||
| DietCoke | I will be doing carryon, so once I get there we can book. | 20:07 | |
| particle | i screwed the syntax up , though, fixing | ||
| DietCoke | and put them in time order! aigh! | ||
| cotto_work | fix it | ||
| particle | they were in time order | 20:08 | |
| insertion time | |||
| cotto_work | see you there! | ||
| jonathan | Gaaah. | 20:09 | |
| Test returned status 5 (wstat 1280, 0x500) | |||
| after all the subtests completed successfully | |||
| DietCoke | inferior runloop! | ||
| jonathan | Indeed. | ||
| DietCoke | tcl's lsort test does that. | ||
| jonathan hopes Allison's branch fixes a bunch of these. | |||
| DietCoke | I'm eager to test it this weekend. | ||
| jonathan | DietCoke: Is there a workaround? | 20:10 | |
| I'm fearing not. | |||
| particle | jonathan: no | 20:11 | |
| pmichaud | is this valid Perl 6? if $code.isa("Code") { say "ok 3" } else { say "not ok 3" } | ||
| DietCoke | nope. 'make test' still works. | ||
| so it wasn't a high priority for me. | |||
| particle | pmichaud: looks valid to me | ||
| diakopter | pmichaud: why wouldn't it be | ||
| pmichaud | we allow strings to .isa() ? | ||
| particle | i thought string and type | ||
| pmichaud | hrm. | 20:12 | |
| particle | gotta check the spec | ||
| S06? | |||
| purl | S06 is probably dev.perl.org/perl6/doc/design/syn/S06.html | ||
| particle | ack. | ||
| no, S06 is dev.perl.org/perl6/doc/design/syn/S06.html | |||
| purl | okay, particle. | ||
| pmichaud | only three occurrences of '.isa' in the synopses | ||
| none of them use quoted strings. | |||
| particle | ah | 20:13 | |
| S12? | |||
| purl | S12 is, like, out of sync with reality | ||
| pmichaud | S05 and S12 | ||
| particle | no, S12 is dev.perl.org/perl6/doc/design/syn/S12.html | ||
| purl | okay, particle. | ||
| pmichaud | 3801: <.isa(Dog)> | ||
| 1969: $obj.HOW.isa(Mammal) | |||
| 1981: $obj.isa(Mammal) | |||
| jonathan | I find it hard to believe you'd not be able to do it with a string. | ||
| It just would feel so un-Perl-ish to not let you do so. ;-) | |||
| particle | yep | 20:14 | |
| pmichaud | I'm wondering how to go from a String to a namespace. | ||
| or, more precisely, to a protoobject. | |||
| particle | ::() | ||
| DietCoke | ... is that ascii art for the alien from MIB? | ||
| pmichaud | yes, but ::() from within .isa() would mean that we'd need to get the caller's namespace. | 20:15 | |
| so that we can figure out what the String is relative to. | |||
| jonathan | Ah. Hmm. | ||
| particle moves his seat up 13 rows and prints his boarding pass | |||
| pmichaud | anyway, I'll put in a workaround. | ||
| jonathan | Maybe to do it by string you need to do the lookup of the string and pass the result to isa. | ||
| .isa(::{'Foo'}) # I'm sure that's the wrong syntax | 20:16 | ||
|
20:21
Zaba_ joined
|
|||
| particle | jhorwitz: ping | 20:22 | |
| omg! there's shadows outside! for the first time in a week, the sky is blue! | 20:23 | ||
| Infinoid | particle: hey, we want our blue back | ||
| particle | you're gonna have to pry it from my cold, dead hands. | ||
| pmichaud | that won't take long... you live in Washington. | 20:24 | |
| jhorwitz | particle: poing | ||
| particle | jhorwitz: i'm going to submit my lightning talk now | ||
| pmichaud | snow! in june! | ||
| particle | did you do yours yet? | ||
| pmichaud | oooh lightning talk! what's it going to be? ;-) | ||
| jhorwitz | particle: what are you calling it? | ||
| particle | lightning: creating a language in 5 minutes with Parrot Compiler Toolkit | 20:25 | |
| pmichaud | I've been seriously thinking about a lightning talk, but I fear there will be more speakers than slots | ||
| jhorwitz | particle: so you went all boring on us | ||
| :) | |||
| particle | what should i call it? the language is called 'lightning' so yours can be 'mod_lightning' man! | 20:26 | |
| jhorwitz | aaaaah | ||
| i was gonna call it "stealing particle's work for fun and profit in 5 minutes" | |||
| particle | hopefully i'll commit it and you can svn co :) | ||
| jhorwitz goes to submit his lightning talk... | 20:27 | ||
| particle | ok, i can make a wittier tagline, but it's definitely gonna live under languages/lightning/ | ||
| pmichaud | how about languages/kaboom ? | ||
| particle | oops, i forgot turing-complete | ||
| jhorwitz | what's the URL for submitting the talks? | ||
| DietCoke | I do wish the guy last year had actually written his language describing urinal rules. | ||
| jhorwitz | i always have trouble finding it | ||
| particle | conferences.mongueurs.net/yn2008/newtalk | ||
| DietCoke | kaboom? | 20:28 | |
| kaboom is <reply>What about my q-37 space modulator? | |||
| jhorwitz | DietCoke: ever play the flash game where you have to pick the right urinal? | ||
| DietCoke | no, but that's exactly the sort of thing I'm talking about, yes. | ||
| jhorwitz | www.albinoblacksheep.com/flash/urinal | 20:29 | |
| particle | ah, perfect score. | 20:31 | |
| jhorwitz | men always have a perfect score | 20:33 | |
| it's amazing | |||
| purl | It's the mirrors | ||
| jonathan doesn't tell anyone his score | 20:34 | ||
|
20:34
luca_ joined
|
|||
| Whiteknight | yeah, i did bad | 20:34 | |
| Whiteknight failed bathroom 101 | |||
| jhorwitz | did you try to socialize with the guy next to you? ;-) | 20:35 | |
| Whiteknight | not overtly | ||
| jonathan | Some of the cases are like, obvious. | ||
| Others are...well...less so. | |||
| pmichaud | I'm getting a failure in S12-role/attributes.t in trunk. expected? | 20:36 | |
|
20:37
Zaba joined
|
|||
| jonathan | pmichaud: No. | 20:39 | |
| What output? | |||
| purl | output is probably different | ||
|
20:39
tene_evalbot joined
|
|||
| Tene | cardinal: puts "I should probably test this in a different channel"; | 20:40 | |
| tene_evalbot | No output (you need to produce output to STDOUT) | ||
| nopaste | "pmichaud" at 76.183.97.54 pasted "spectest regression failure -- S12-role/attributes.t" (30 lines) at nopaste.snit.ch/13244 | ||
| jonathan | OH! | ||
| pmichaud | I'm also getting a failure in S29-list/grep.rakudo | ||
| jonathan | r28282. | 20:41 | |
|
20:41
tene_evalbot joined
|
|||
| Tene | cardinal: puts "foo"; | 20:41 | |
| tene_evalbot | OUTPUT[fooā¤] | ||
| Tene prods DietCoke to try tcl: | |||
| jonathan | I'd fudged the one that is failing because of the continuation thing, then forget to remov the #pure. | 20:42 | |
| pmichaud | tcl: puts "foo"; | ||
| tene_evalbot | OUTPUT[Parrot VM: Can't stat languages/tcl/tcl.pbc, code 2.ā¤main: Packfile loading failedā¤] | ||
| jonathan | Well, I'd removed it. I'd forgotten to bheck it in. | ||
| Tene | Oh, I didn't compile tcl. | ||
| dalek | r28282 | jonathan++ | trunk: | ||
| : [rakudo] S12-role/attributes.t is now fudged. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28282 | |||
| Tene | tcl: puts "foo"; | ||
| tene_evalbot | OUTPUT[fooā¤] | ||
| Tene runs 'make' in languages/ | |||
| pmichaud | APL: 1 | 20:43 | |
| :-P | |||
| jhorwitz | particle: you're creating lightning live, right? | ||
|
20:45
IllvilJa joined
|
|||
| pmichaud | going to yapc::na 2008? | 20:45 | |
| going to yapc? | |||
| purl | See : going to yapc::na or yapc::whatever or cwest, uri, DrForr | ||
| pmichaud | going to yapc::na ? | ||
| purl | going to yapc::na is hachi, particle, Coke, cotto, DrForr, rjbs, confound, hobbs, Alias, jjore, pmichaud, allison, uri, chargrill, Abigail, stevan, waltman, PerlJam, lucs or theory | ||
| pmichaud | ...PerlJam is going to yapc::na? | ||
| cooooool | |||
| jhorwitz | purl, going to yapc::na is also jhorwitz | 20:46 | |
| purl | okay, jhorwitz. | ||
| pmichaud | jhorwitz is going to yapc::na? | ||
| cooooool | |||
| :-) | |||
| jhorwitz | i hear attendance is mandatory for speaking | ||
| jonathan | going to yapc::eu? | ||
| purl | going to yapc::eu is (: going to YAPC::EU 2008) | ||
| jonathan | going to YAPC::EU 2008? | ||
| purl | going to YAPC::EU 2008 is ambs, smash, allison, cognominal, cog, root, pmichaud, hex (hopefully), Abigail or tsee and Tux and Nicholas or Hinrik or Alias | ||
| jhorwitz | particle: talk submitted | 20:47 | |
| jonathan | going to YAPC::EU 2008 is also jonathan | ||
| purl | okay, jonathan. | ||
| cognominal | hum, there is a parrot hackathon too? | 20:49 | |
| jonathan | cognominal: que YAPC? NA ou EU? | ||
| pmichaud | rumor was that there would be hackathon days immediately before and after yapc::eu | ||
| cognominal | EU | 20:50 | |
| Patterner | going to YAPC::EU 2008 is also Patterner | ||
| purl | okay, Patterner. | ||
| cognominal | not rich enough to go to the states and not willin to go with the current government | 20:51 | |
|
20:51
tene_evalbot joined
|
|||
| Tene | APL: 1 | 20:51 | |
| tene_evalbot | OUTPUT[1ā¤] | ||
| pmichaud | aiiigh! | ||
| APL: 1 3 + | |||
| tene_evalbot | OUTPUT[Syntax error at line 1, near " +"ā¤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)ā¤called from Sub 'parrot;APL::Grammar;statement' pc 3490 (src/gen_grammar.pir:364)ā¤called from Sub 'parrot;APL::Grammar;statement_list' pc 2914 | ||
| ..(src/gen_grammar.pir:146)ā¤called from Sub 'parrot;APL::Grammar;TOP' pc 2705 ... | |||
| pmichaud | APL: 1+3 | 20:52 | |
| tene_evalbot | OUTPUT[4ā¤] | ||
| purl | 4 | ||
| Tene | Should I just grab everything in languages/ ? | ||
| pmichaud | now *that's* a lightning talk -- what funny languages can we stick on IRC? ;-) | ||
| DietCoke | tcl: puts [expr sin(3)-2**4] | ||
| tene_evalbot | OUTPUT[-15.85887999194013ā¤] | ||
| jonathan | lolcode: VIZIBLE 'OH HAI' | 20:53 | |
| DietCoke | tcl: puts \\u1234 | ||
| tene_evalbot | OUTPUT[ԓā¤] | ||
| jhorwitz | I CAN HAZ LOLCODE_EVALCAT? | ||
| Infinoid | I've been trying to figure out how to do an befunge evalbot | ||
| jonathan | Please do bf. | ||
| ;-) | |||
| diakopter | that's quite the evalglot | ||
|
20:54
tene_evalbot joined
|
|||
| Tene | The problem with lolcode is its mandatory block circumfix header footer things. | 20:54 | |
| it doesn't like single statements. | |||
| I should fix that. TO HELL WITH SPEC. WE NEED EVALBOTS. | |||
| pmichaud | I CAN CHANGEZ SPEC? | ||
| DietCoke | you could always have the eval bot do a wrap for lolcode. | 20:55 | |
| Tene | I certainly could. | ||
| DietCoke | mmm, lolwrap. | ||
| Tene | Right now it's qw(abc APL bf cardinal lolcode lua pheme plumhead punie pynia squaak tcl) | 20:56 | |
| diakopter | lolcode: WAIT FOR IT \\ | ||
| tene_evalbot | OUTPUT[Failed to parse sourceā¤current instr.: 'parrot;PCT::HLLCompiler;panic' pc 156 (src/PCT/HLLCompiler.pir:103)ā¤called from Sub 'parrot;PCT::HLLCompiler;parse' pc 589 (src/PCT/HLLCompiler.pir:356)ā¤called from Sub 'parrot;PCT::HLLCompiler;compile' pc 438 (src/PCT/HLLCompiler.pir:291)ā¤called from | ||
| ..Sub 'parrot;PCT::HLLCompiler;eval' pc 753 (src/P... | |||
| Tene | Hm... needs a newline-translator for bf. | ||
| pmichaud | finally! spectest_regression passing! | 20:58 | |
| DietCoke | ! | ||
| jonathan | pmichaud: With new Range code? | 20:59 | |
| pmichaud | yes. | ||
| Infinoid: see if r28284 fixes things. Note that one also has to do 'make' from parrot dir in order to rebuild P6object.pbc . | 21:00 | ||
| dalek | r28283 | pmichaud++ | trunk: | ||
| : [p6object]: | |||
| : * Turns out we can't quite trust Parrot's MMD for get_parrotclass | |||
| : to always dtrt, so refactor to explicitly code the preferences | |||
| : we want. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28283 | |||
| r28284 | pmichaud++ | trunk: | |||
| : [rakudo]: | |||
| : * Refactor Range a bit. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28284 | |||
|
21:02
tene_evalbot joined
|
|||
| Tene | cardinal: puts "zomg"; | 21:02 | |
| tene_evalbot | OUTPUT[zomgā¤] | ||
| japhb | Tene++ # The polyglot evalbot we always wanted | 21:04 | |
| Tene | justasec, it's about to get awesome. | ||
| Wait for it. | |||
| japhb | :-) | ||
| jhorwitz is dying from the anticipation | |||
| japhb | Tene: does forth work? | ||
| Tene | no idea. | 21:05 | |
| japhb is dying to do forth jokes via evalbot ... ;-) | |||
.oO( I need to port gjbforth to Parrot one of these days ... ) |
|||
| DietCoke | tcl: set i 1; while {$i < 20} { incr i}; puts $i | 21:06 | |
| tene_evalbot | OUTPUT[20ā¤] | ||
| DietCoke | tcl: error "this should be fun." | ||
| tene_evalbot | OUTPUT[this should be fun.ā¤] | ||
| DietCoke | what? you lie. =-) | 21:07 | |
| tcl: return "die" | |||
| tene_evalbot | OUTPUT[dieā¤] | ||
| DietCoke | freaky. | ||
| cotto_work | Tene, no perl6? | ||
| or is that the awesome? | |||
|
21:07
tene_evalbot joined
|
|||
| Tene | no perl6? Oops. | 21:08 | |
| DietCoke | perl6: say "what what?" | ||
| Tene adds perl6. | |||
|
21:08
tene_evalbot joined
|
|||
| Tene | perl6: say "foo" | 21:08 | |
| Huh. | |||
| cardinal: say "foo"; | |||
| Huh. | 21:09 | ||
| pmichaud | Tene: say "Huh."; | ||
| DietCoke | Huh. | 21:10 | |
| dalek | Jeff Horwitz | mod_parrot: | 21:12 | |
| link: www.perlfoundation.org/parrot/index...mod_parrot | |||
| jhorwitz | uh, hm. i didn't make any changes there, just closed the window | 21:13 | |
| DietCoke | pmichaud: "can't trust parrot's MMD" - ticket coming on broken behavior? | ||
| dalek | Jeff Horwitz | mod_parrot: | ||
| link: www.perlfoundation.org/parrot/index...mod_parrot | |||
| pmichaud | DietCoke: it's a little difficult to describe at the moment. | 21:14 | |
| I'll see if I can narrow it down to a cleaner test case. | |||
| and if so, then submit a ticket. | |||
| DietCoke | danke | ||
| pmichaud | jhorwitz: the page history shows a change made. | 21:15 | |
|
21:15
tene_evalbot joined
|
|||
| jhorwitz | yeah, i think i typed something and it autosaved when i closed the window. | 21:15 | |
| Tene | perl6: say "foo" | ||
| tene_evalbot | kp6: No output (you need to produce output to STDOUT) | ||
| ..pugs: No output (you need to produce output to STDOUT) | |||
| ..rakudo: No output (you need to produce output to STDOUT) | |||
| jhorwitz | the last one was my correction to that. :) | ||
|
21:18
tene_evalbot joined
|
|||
| Tene | perl6: say "foo" | 21:18 | |
| tene_evalbot | kp6: No output (you need to produce output to STDOUT) | ||
| ..pugs: No output (you need to produce output to STDOUT) | |||
| ..rakudo: No output (you need to produce output to STDOUT) | |||
| Tene | Wait, wtf is it getting kp6 and pugs and rakudo from? | ||
| oh | 21:19 | ||
|
21:19
tene_evalbot joined
|
|||
| Tene | perl6: say "foo" | 21:20 | |
| tene_evalbot | OUTPUT[fooā¤] | ||
| japhb | bc: 22 / 7 | ||
| purl | 3.14285714285714 | ||
| Tene | abc: 22 / 7 | ||
| purl | 3.14285714285714 | ||
| tene_evalbot | OUTPUT[3.14286ā¤] | ||
| japhb | abc: 22 / 7 | ||
| purl | 3.14285714285714 | ||
| tene_evalbot | OUTPUT[3.14286ā¤] | ||
| japhb | schweet | ||
| There's a ticket to rename abc to bc, btw. | |||
|
21:20
tene_evalbot joined
|
|||
| Tene | perl6: say "foo" | 21:20 | |
| tene_evalbot | OUTPUT[fooā¤] | ||
| Tene | perl6pir: say "foo" | 21:21 | |
| tene_evalbot | OUTPUT[ā¤.namespace ā¤.sub "_block11" ⤠.lex "$_", $P12⤠.lex "$/", $P13⤠$P14 = getinterp⤠push_eh no_match_to_copy⤠$P14 = $P14['lexpad';1]⤠pop_eh⤠if null $P14 goto no_match_to_copy⤠$P14 = $P14['$/']⤠store_lex '$/', $P14⤠no_match_to_copy:⤠.lex "$!", $P15⤠new | ||
| ..$P16, "Perl6Str"⤠assign $P16, "foo"⤠$P1... | |||
| Tene | Ack, that's not right. | ||
| That was supposed to nopaste. Why didn't it nopaste? | |||
| DietCoke | tcl: puts [expr entier(3.141592654)] | ||
| tene_evalbot | OUTPUT[3ā¤] | ||
| pmichaud | I don't think I want to rename abc to bc. | 21:23 | |
| japhb | pmichaud: bc -> bcd? | 21:24 | |
| er, abc -> bcd? | |||
| or bcbc, or some other variant. | |||
| ISTR the ticket's point is that there already is a real language named abc, no relation to bc. | |||
| pmichaud | I knew about 'abc' (the python precursor) when we started abc, and decided to use abc anyway. | 21:25 | |
| (with approvals from people on #parrot). | |||
| japhb | Ah, OK. | ||
| Whiteknight | "pbc" would be better, since it's Parrot's bc | ||
| japhb | That I like. | ||
| pmichaud | also, it's explicitly not intended to be a 'bc' workalike. | ||
| 'pbc' already has another meaning in Parrot-speak. | 21:26 | ||
| japhb | true | ||
| Maybe that's why it seemed so catchy. ;-) | |||
| diakopter | pabc | ||
| pmichaud | I like 'abc' because it's intended to be a tutorial for compiler writing. | ||
| so 'abc' is a good name for that. | |||
| (learn your a b c's!) | |||
| DietCoke | we can hash this out again if someone else actually does decide to target parrot with that, but I think now let's reject the proposal and move on. =-) | 21:27 | |
| Whiteknight | so if we do decide to implement the python precursor, we can call that pabc | ||
| DietCoke | pebkac | ||
| pmichaud | if someone is seriously interested in targeting the pre-python abc, then I'd rather steer them to working on pynie. | ||
| and python's abc can be pyabc :-) | |||
|
21:27
tene_evalbot joined
|
|||
| japhb | :-) | 21:27 | |
| pmichaud | or parabc | ||
| japhb | Which one is pynie now? | 21:28 | |
| Tene | perl6pir: say "foo" | ||
| nopaste | "polyglotbot" at 216.98.223.199 pasted "perl6 paste" (20 lines) at nopaste.snit.ch/13245 | ||
| "polyglotbot" at 216.98.223.199 pasted "perl6 paste" (42 lines) at nopaste.snit.ch/13246 | |||
| tene_evalbot | No output (you need to produce output to STDOUT) | ||
| pmichaud | pynie: python on parrot. | ||
| jonathan | rakudo: say "foo" | ||
| Tene | two pastes? | ||
| jonathan | perl6: say "foo" | ||
| tene_evalbot | OUTPUT[fooā¤] | ||
| japhb | I thought that was something else ... oh, right, multiple attempts, right? | ||
| jonathan | perl6: role Perl { method x { say self.WHAT } }; class Hacker does Perl { }; print 'Just Another ' ~ Perl ~ ' '; Hacker.new.x | ||
| tene_evalbot | OUTPUT[Just Another Perl Hackerā¤] | ||
| pmichaud | scary. | 21:29 | |
| Whiteknight | awesome | ||
| japhb | indeed. | ||
| pmichaud | afk for a while -- gotta make some yapc::na travel preparations. | ||
| Tene | perl6past: role Perl { method x { say self.WHAT } }; class Hacker does Perl { }; print 'Just Another ' ~ Perl ~ ' '; Hacker.new.x | ||
| nopaste | "polyglotbot" at 216.98.223.199 pasted "perl6 paste" (303 lines) at nopaste.snit.ch/13247 | ||
| "polyglotbot" at 216.98.223.199 pasted "perl6 paste" (360 lines) at nopaste.snit.ch/13248 | |||
| tene_evalbot | No output (you need to produce output to STDOUT) | ||
| pmichaud | how about "perl6,past" or "perl6-past" or something like that? | 21:30 | |
| anyway, afk. | |||
| Tene | pmichaud: choose between them and I'll change it | ||
| japhb | Tene: - looks marginally more natural to me | 21:31 | |
| The double pastes -- before and after some transform? They are subtly different. | 21:32 | ||
| Tene | Yeah, something weird... checking... | ||
| Oh, it checks if there's no output and wraps the program in '( ( do { ... } ).perl ).print' | 21:33 | ||
| Hm. | |||
|
21:34
tene_evalbot joined
|
|||
| Tene | perl6-pir: say "foo" | 21:34 | |
| nopaste | "polyglotbot" at 216.98.223.199 pasted "perl6 paste" (20 lines) at nopaste.snit.ch/13249 | ||
| tene_evalbot | OUTPUT[NOPASTEā¤] | ||
| Tene | There we go. | 21:35 | |
| So, any offers to host it? | |||
| japhb | Wish I could -- but I have no externally accessible servers | ||
| Tene | I'll put it on the server in my apartment for now. I'm moving this coming week, though. | 21:36 | |
| diakopter | Tene: why not ask moritz | ||
| Tene | moritz: diakopter says that you like hosting bots. | 21:37 | |
| diakopter | :) | ||
| Tene | moritz: diakopter said that you'll bake me a cake. | ||
|
21:37
slightlyoff joined
|
|||
| Tene | I'll ask about running it on my company's development server next week. | 21:41 | |
| This is a very slow box, so rebuilds won't be too frequent. | 21:43 | ||
| particle likes perl6.past because . looks like a target | 21:58 | ||
| japhb | I can jump on that bandwagon. | 21:59 | |
| It looks like a method call on the compiler to me, and that makes sense given what it does. | 22:00 | ||
| Tene | Still waiting for languages to compile on the server it's going to run on for now. | ||
| just getting to tcl. | |||
| particle | tene: i'm pretty sure it could be hosted on feather | ||
| do you have an account there? | |||
| that's where thet #perl6 evalbot is | |||
| Tene | Yeah, but then I'd have to figure out if there's a regularly-updated parrot tree there. | ||
| particle | feather1 iirc | ||
| tene: there is, for sure | 22:01 | ||
| diakopter | particle: no, the #perl6 evalbot is not on feather | 22:02 | |
| it's on moritz' server | |||
| hence me suggesting asking moritz :D | |||
| particle | ah, ok then | ||
| i thought there was a feather vm for evalbots | 22:03 | ||
| diakopter | there is, but no one has used it | ||
| particle | aha | ||
| Tene | HAY JUERD | ||
| particle | well why the heck not? it's there, begging to be used! | ||
| Tene | HAY JUERD I HAVE AN EVALBOT FOR FEATHER | ||
| diakopter | I guess b/c it would take some effort to figure out how Juerd set up the VM/jail(s) | 22:04 | |
| Tene | Huh. When I try to run it on this box, it just says 'illegal instruction' | 22:08 | |
| Weird. | |||
|
22:09
polyglotbot joined
|
|||
| Tene | perl6: say 'foo' | 22:09 | |
| polyglotbot | OUTPUT[fooā¤] | ||
| Tene | perl6.paste: say 'foo' | 22:10 | |
| nopaste | "polyglotbot" at 216.98.223.199 pasted "perl6 paste" (1 line) at nopaste.snit.ch/13250 | ||
| polyglotbot | OUTPUT[NOPASTEā¤] | ||
| Tene | perl6.parse: say 'foo' | ||
| nopaste | "polyglotbot" at 216.98.223.199 pasted "perl6 paste" (53 lines) at nopaste.snit.ch/13251 | ||
| polyglotbot | OUTPUT[NOPASTEā¤] | ||
| Tene | perl6.past: say 'foo' | ||
| nopaste | "polyglotbot" at 216.98.223.199 pasted "perl6 paste" (49 lines) at nopaste.snit.ch/13252 | ||
| polyglotbot | OUTPUT[NOPASTEā¤] | ||
| Tene | perl6.pir: say 'foo' | ||
| nopaste | "polyglotbot" at 216.98.223.199 pasted "perl6 paste" (20 lines) at nopaste.snit.ch/13253 | ||
| polyglotbot | OUTPUT[NOPASTEā¤] | ||
|
22:11
polyglotbot joined
|
|||
| Tene | There we go. | 22:11 | |
| I'm satisfied with it for now. | |||
|
22:11
Zaba joined
|
|||
| particle | jhorwitz: Bring in the bottled lightning | 22:12 | |
| the parrot compiler toolkit is parrot's bottled lightning. in five minutes, i'll create a parser, compiler, and tests for a turing-complete language. | |||
| *called 'lightning'. | |||
|
22:18
Limbic_Region joined
|
|||
| Tene | perl6.parse: say 'foo' | 22:19 | |
| nopaste | "polyglotbot" at 216.98.223.199 pasted "perl6 parse paste" (53 lines) at nopaste.snit.ch/13254 | ||
| polyglotbot | OUTPUT[NOPASTEā¤] | ||
| cotto_work | how do lightning talks usually go? | 22:20 | |
| back to back, or with breaks at intervals | |||
| Tene svn co on feather1 | 22:22 | ||
| particle | yeehah, i have control of parrot.org now | ||
| Tene | /usr/bin/parrot on feather1 is linked to audreyt's homedir, which was last updated in 2006, it looks like. | ||
| cotto_work | particle++ | ||
| particle | now, to get hosting... | 22:23 | |
| japhb | Tene: Does polyglotbot need to bother to say OUTPUT[NOPASTE]? Pastebots announce themselves by default anyway. | 22:35 | |
| s/themselves/the pastes/ | |||
| Tene | Hm. Sure, I can make that go in the other direction. | ||
| japhb | clutter-- | ||
| Tene | There it should work now, if I was able to run it on feather. | 22:38 | |
| Whiteknight | back, for now | 22:39 | |
| ...wrong window... | |||
|
22:46
smash joined
|
|||
| smash | hello everyone | 22:46 | |
| Whiteknight | hello | 22:50 | |
|
23:05
tetragon joined
|
|||
| dalek | r28285 | Whiteknight++ | gsoc_pdd09: | 23:06 | |
| : [gsoc_pdd09] basics of the function to mark children of the current node. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28285 | |||
|
23:09
polyglotbot joined
|
|||
| Tene | perl6: say "HAY GUYZ IM AN EVALBOT" | 23:10 | |
| polyglotbot | OUTPUT[Null PMC access in get_string()ā¤current instr.: 'parrot;P6metaclass;add_parent' pc 119 (runtime/parrot/library/P6object.pir:137)ā¤called from Sub 'parrot;P6metaclass;add_parent' pc 241 (runtime/parrot/library/P6object.pir:215)ā¤called from Sub 'parrot;P6metaclass;register' pc 411 | ||
| ..(runtime/parrot/library/P6object.pir:295)ā¤called from Sub 'pa... | |||
| Tene | Huh. | ||
| Whiteknight | i'd say that isn't correct | ||
| Tene rebuilds parrot on feather3 | 23:11 | ||
| jonathan breathes a sigh of relief, thinking that he might just have got role-private attributes cracked. | 23:17 | ||
| Or close enough for now, anyways | |||
| Whiteknight | jonathan++ | 23:19 | |
| dalek | r28286 | jonathan++ | trunk: | 23:20 | |
| : [rakudo] Implement role-private attributes. These, declared as 'my $!spleen', are not visible outside of the role (unless you use 'trusts' (which isn't implemented yet)). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=28286 | |||
| jonathan | Which if I'm right means I've now dealt with the directly attribute-related things about roles from S12. Which is what I'd hoped to do today. | 23:22 | |
| Tene | perl6: say "HAY GUYZ IM AN EVALBOT" | 23:24 | |
| polyglotbot | OUTPUT[HAY GUYZ IM AN EVALBOTā¤] | ||
| Tene | perl6.paste: say "foo" | ||
| jonathan grabs a beer and writes up his report | |||
| Tene | perl6.paste: say "foo" | 23:26 | |
| nopaste | "polyglotbot" at 193.200.132.146 pasted "perl6 paste" (1 line) at nopaste.snit.ch/13256 | ||
| Tene | yay! | ||
| cardinal.pir: puts "foo"; | |||
| nopaste | "polyglotbot" at 193.200.132.146 pasted "cardinal pir paste" (13 lines) at nopaste.snit.ch/13257 | ||
| Tene | I'm pleased. :) | ||
| japhb | awesome | ||
| Tene++ again | |||
| "Awesome speech!" | 23:27 | ||
| jonathan | Tene++ # this will be useful | ||
| Tene | Okay, it should be updating parrot every 15 minutes. | 23:28 | |
| japhb | Tene: does it check whether it needs to? | 23:29 | |
| Tene | Nope. | ||
| japhb | (rebuild, that is) | ||
| Tene | I don't know the svn way of doing that. | ||
| I'm just relying on make. | |||
| japhb | Ah. | ||
| Tene | does 'svn up' return failure if there are no updates | ||
| ? | 23:30 | ||
| japhb | Might be nice to have a way to tell the bot that 'svn up; make' is not sufficient, and that it needs 'make realclean; svn up; perl Configure.pl; make' | ||
| Tene: Hmmm, ISTR so. | |||
| Tene | Oh, then it won't rebuild if no updates. | 23:31 | |
|
23:31
kid51 joined
|
|||
| Tene | Also a way to get the current rev might be nice. | 23:32 | |
| That's all I'm doing today, though. | 23:33 | ||
| japhb | 'svn info' gets you rev | ||
| Tene | japhb: I meant a command for the bot to get it to report. | ||
| japhb | Oh, right | ||
| Tene | karma tene | 23:34 | |
| purl | tene has karma of 87 | ||
| japhb | Tene: sigh, exit code from 'svn up' doesn't seem to change | ||
| Tene | :/ | ||
| japhb | I guess check revision before and after update | ||
|
23:34
ank joined
|
|||
| Tene | write a shell script to do it for me. | 23:35 | |
| I'm busy operating a stapler. | |||
| jonathan | Hack: see how many lines out output svn up gives. If only one, then it didn't update anything. ;-) | 23:36 | |
| japhb | Tene: perl -e 'sub get_rev { my $rev_line = `svn info |grep "^Revision: "`; my ($rev) = $rev_line =~ /(\\d+)/; return $rev}; my $old_rev = get_rev; `svn up`; my $new_rev = get_rev; exit($old_rev != $new_rev);' | 23:39 | |
| That could be golfed a LOT, but there's the start | |||
| Most of the time, my 'shell scripts' are perl one-liners. :-) | 23:41 | ||
|
23:44
teknomunk joined
|
|||