|
#parrot Parrot 2.2.0 "Like Clockwork" Released! | parrot.org/ | Channel log: irclog.perlgeek.de/parrot/today | Improve Rakudo rx and buildtime performance | Fix HLL bugs (TT #389, #1040) | Prioritize Rakudo Needs and roadmap items Set by moderator on 30 March 2010. |
|||
| Austin | Coke: it thinks it's seeing a nested closure | 00:01 | |
| Use '{' | |||
| single quotes | |||
| purl | single quotes are always right slanted like ' | ||
| kid51 | mikehh ping | 00:02 | |
| Coke | Austin: ok. once I get back to NQP-only, I'll remember that. Thanks. =-) | 00:04 | |
| Austin | :) | ||
| nopaste | "kid51" at 70.85.31.226 pasted "Patch to exempt files with '#! parrot-nqp' shebang lines from being classified as PIR files for the purpose of codingstd tests." (13 lines) at nopaste.snit.ch/20167 | ||
| kid51 | Currently, the recently contributed file t/profiling/profiling.t is causing a failure in t/codingstd/pir_code_coda.t | 00:05 | |
| profiling.t has a perl6 coda, but its shebang line is currently causing it to be classified as PIR ... | |||
| ... and since it lacks a *pir* coda, it fails that codingstd test | 00:06 | ||
| Coke | what's checking the shebang line? | ||
| kid51 | I suppose the ideal solution would be a codingstd test for perl6 codas, but for now, a little patch to lib/Parrot/Distribution.pm should suffice. | ||
| Coke | kid51: is it just defaulting to PIR since it can't match the shebang? | 00:07 | |
| kid51 | Coke: No. The code in Parrot::Distribution just checks for the *start* of the shebang line. | 00:08 | |
| So anything with #!\\s*parrot matches ... including parrot-nqp | |||
| I could find only one other file in the distro with a parrot-nqp shebang line, but since it's not a test (.t) file, it's not scanned during the test. | 00:09 | ||
| kid51 is agnostic as to whether we *should* have parrot-nqp files in the distro. | |||
| Coke | Yah, that's going to happen more and more. | 00:10 | |
| kid51 | My patch will shut up the immediate problem. | ||
| But over the long haul we probably need to define coding standards for files written in various forms of NQP, perl6, etc. | 00:11 | ||
| Comments? | |||
| purl | Comments are lying. next_for_GC *is* the GC marking mechanism right now | ||
| chromatic | I'm still not clear what problem the codas attempt to solve. | 00:16 | |
| darbelo | Who said there was a problem in the first place? | 00:18 | |
| Austin | vim wankery | 00:19 | |
| Coke | Austin: and emacs. | ||
| chromatic | I'd like to think that precious volunteer time and effort should go toward solving useful problems. | 00:20 | |
| Austin | I thought the emacs cruft went at the top | ||
| darbelo | vim adn emacs are big boys, they can handle it without the hand holding. | ||
| Coke | chromatic: I certainly wouldn't expend much effort on them, no. | 00:21 | |
| but theoretically they are helpful in adhering to coding standards. | |||
| (tab vs. spaces, line length). Now, I'm not willing to argue that /those/ are worth enforcing, though. =-) | |||
| kid51 | The merits of the codas in general and the test for codas in particular can be debated on list. | 00:22 | |
| Can I ask for focus on this particular little problem? | |||
| chromatic | Anchor the regex in Parrot::Distribution to end-of-line? | 00:24 | |
| kid51 | You would recommend that to the negative-lookahead because .... ? | ||
| Austin | Make it a \\b = word break? | 00:25 | |
| Coke | chromatic: can't be end of line, has to deal with args, methinks. | ||
| chromatic | Because who knows what other parrot-* utilities will show up in #! lines in the future. | ||
| Coke | parrot($|\\s) | ||
| chromatic | \\b would work for everything of the form parrot-* | 00:26 | |
| Another idea is /parrot-?(\\S)\\s/, where you use the capture as a key into a hash of types. | 00:27 | ||
| The ending of that regex is wrong (arguments versus $), but you get the idea. | |||
| kid51 | Hmm: Simply: parrot\\b doesn't work. | 00:29 | |
| i.e., it doesn't exclude parrot-nqp from list of PIR files to be checked by that test | |||
| Austin | Ah, right | 00:30 | |
| kid51 | The immediate goal is to say: parrot-nqp is not PIR | ||
| Austin | Because - is a non-word | ||
| \\s|$ | 00:31 | ||
| ? | |||
| chromatic | (?:\\s|$) should work in that case, if all you want to do is exclude parrot-nqp. | ||
| kid51 | Yes, that works. | 00:33 | |
| I'll run make codetest to exclude possibility that that borks something else, then apply. Thanks. | |||
| mikehh | kid51: pong (sorry was distracted) | 00:37 | |
| kid51: there are a bunch in some of the branches - eg ops_pct | 00:39 | ||
| kid51: another problem in the ops_pct branch is that parrot_nqp files get attacked by perl_critic which should ignore them | 00:43 | ||
| and also nqp_rx files use perl6 pod not perl5 pod which also causes problems | 00:44 | ||
| kid51 | mikehh: Could you do a write-up of these problems and post to list? | ||
| mikehh | I really meant to before, but $work has been intrudin' I should have some time over the next couple of days | 00:46 | |
| kid51 | I suspect a lot of problems in that branch are due to its age. | 00:47 | |
| mikehh | at the moment I have hopefully fixed a client;s problem, but it isd nearly 2am here and I think I need some sleep :-} | ||
| kid51 | I tried to diff it against trunk more than a week ago. The diff was enormous ... which I attributed to its age. | ||
| mikehh: Sleep! | 00:48 | ||
| mikehh | kid51: it was pretty good a couple of weeks ago - but I haven't look this week | 00:49 | |
| kid51: mostly codetest problems left - nearly all related to nqp files | 00:50 | ||
| anyway mest take a break | |||
|
00:50
walter joined
|
|||
| Coke | the shebang fix might help there. | 00:51 | |
| dalek | rrot: r45389 | jkeenan++ | trunk/lib/Parrot/Distribution.pm: Exclude files with '#! parrot-nqp' shebang lines from list of files reported |
00:58 | |
|
01:08
jan joined
|
|||
| dalek | kudo: 13a7610 | (Solomon Foster)++ | t/spectest.data: Turn on S03-metaops/reduce.t. |
01:15 | |
|
01:33
dngor_ joined
01:41
dngor joined
01:48
dngor_ joined
01:55
Psyche^ joined
01:56
Mokurai joined
01:57
Mokurai joined
|
|||
| dalek | kudo: ed9deae | jonathan++ | src/Perl6/Grammar.pm: Enforce zone constraints in signatures, so we can't end up with requireds after variadics, etc. |
02:01 | |
| kudo: 16273e1 | jonathan++ | t/spectest.data: Merge branch 'master' of github.com:rakudo/rakudo |
|||
| Austin | Without mentioning any names, I'm reading this Pragmatic series book about parsing, and I swear every time I read this guy's source it deepens my conviction that academics can't code. | 02:24 | |
| kid51 | What do you find objectionable in his code? | 02:30 | |
| Austin | A slew of things. | ||
| For example, 1 letter global variables. | |||
| 'p' | |||
| kid51 | Ugh! Doubly offensive! | ||
| dalek | kudo: e50ff8c | (Solomon Foster)++ | src/core/metaops.pm: Refactor the reducewith code a tad (could still use more) and extend triangle mode to chaining mode. |
02:31 | |
| Austin | Or, his "scope" class that has a "get containing scope" method. | ||
| Because, of course, every scope has a containing scope, and it has exactly one. | |||
| This isn't the first of his books I've read - my grudge has taken a while to develop. | 02:32 | ||
| But it's an academic thing. I think they all get that way. | 02:33 | ||
| kid51 | (Assuming we're talking about the same book,) at least the subject matter is relevant to Parrot. | ||
| Austin | Essentially, "my whole career is built around this algorithm" which leads to "I don't need to provide clear names for myself." | ||
| But it also leads to "if you take the time to learn my stuff, you should be my grad student/slave" | 02:34 | ||
| So maybe from an economic viewpoint, they're dis-incentivized to write good code... | |||
| Or maybe they've never had a boss or tech lead stick a boot up their ass and say, "Write better code, jackass." | 02:35 | ||
| Austin shrugs. | |||
| Part of the benefit of open source may be that a huge volume of n00b questions go away if you write clearly. | 02:37 | ||
| Whoa. | 02:39 | ||
| As far as I can tell, the "name" vtable is only called from the typeof opcode. Is this right? | 02:40 | ||
| chromatic | That doesn't sound right, no. | 02:43 | |
| dalek | tracwiki: v4 | Austin_Hastings++ | Parrot%20Dictionary | 02:47 | |
| tracwiki: Added 'name' vtable entry. | |||
| tracwiki: trac.parrot.org/parrot/wiki/Parrot%...ction=diff | |||
| Austin | Well, extend_vtable.c calls it (essentially providing an API for it), multidispatch.c calls it for printing a debug message, various pmc types call it (bignum, bigint, capture(SELF), default) all in a diagnostic context. | 02:49 | |
| But that seems about it. | |||
| kid51 must sleep | 02:51 | ||
| purl | $kid51->sleep(8 * 3600); | ||
| Austin sings, "Well ce soir, for a change, it will all be made clear..." | 02:52 | ||
|
02:54
janus joined
02:55
lucian joined
|
|||
| darbelo | My irssi said "Day changed to 03 Apr 2010" | 03:02 | |
| That translates to "The proposal gets mailed after I sleep" | |||
| See y'all tomor^W later today. | 03:03 | ||
| sorear | What's the best way to present a hash interface to Parrot with the restriction that you can only have 1 active iterator at a time? | 03:58 | |
| Austin | Put a guard in the get_iterator (see 'iter' opcode) vtable function? | 04:03 | |
| Hmm.. somehow I expected that writing a method called 7 test_resolve() would be more complicated... | 04:11 | ||
|
04:16
Andy joined
04:22
Mokurai1 joined
04:23
Mokurai joined
|
|||
| sorear | Austin: The guard can't know if other iterators are live... | 04:43 | |
| and it can't detect the case where the native interface is also used | |||
| Austin | Then make the iterator a singleton, I guess. | 04:44 | |
| Boy, it's really irritating when the test case uncovers a bug and I waste a bunch of time looking for the problem with the testcase... | 04:58 | ||
|
05:03
cognominal joined
|
|||
| dalek | rrot: r45390 | petdance++ | trunk/src/pmc (2 files): consting and removed old history |
05:07 | |
| rrot: r45391 | petdance++ | trunk/src/gc (3 files): removing unused args from static funcs |
|||
| sorear | Austin: How do singletons work? | 05:42 | |
| Austin | ? | ||
| A singleton is a class with only one instance. | 05:43 | ||
| sorear | That's what a singleton /is/ | ||
| Austin | Yeah. | ||
| How you implement it is up to you. | |||
| sorear | I want to know how they work in Parrot | ||
| oh, up to me | |||
| Austin | Yeah. There's a 'singleton' keyword in the pmc stuff, but I don't think it does anything. | 05:44 | |
| cotto | There's some oddness in how singleton PMCs work. I remember that darbelo ran into a bit of it last gsoc. | 05:54 | |
| sorear | the really extra special horrible thing about p5 hash iterators is they don't even check errors | 05:56 | |
| if you iterate through a hash, and somewhere higher up on the call chain an iteration is ongoing, the higher iteration will see a false end of iteration | |||
|
06:10
iblechbot joined
|
|||
| Austin | sorear: Why is this any kind of issue? Aren't you just proxying for the p5 object and passing everything through? | 06:16 | |
| sorear | Austin: Because I want to shield Parrot code from the bad design of p5 | 06:17 | |
| Austin | That's probably a mistake. | ||
| Let the suckage shine through. At least that way, all the #parrot guys can point at it and say, "That one isn't our fault!" | 06:18 | ||
| Coke | git++ | 06:27 | |
|
06:35
particle joined
|
|||
| dalek | tracwiki: v162 | sophi++ | WikiStart | 06:44 | |
| tracwiki: trac.parrot.org/parrot/wiki/WikiSta...ction=diff | |||
| Coke | Austin: what's your TZ? | 06:49 | |
| purl | your TZ is EST5EDT or canonically -0500 modulo daylight savings | ||
| Austin | ^^ | ||
| Coke | you're up as late as I am. =-) | 06:50 | |
| I have some crappy but functional NQP I'm about to commit.. | |||
| Austin | Woo-hoo. | ||
| lreplace? | |||
| Coke | TclList's get_string | 06:51 | |
| Austin | Ah, right. | ||
| Coke | feel free to clean it up a bit. | 06:55 | |
| pushed. | 06:56 | ||
| dalek | rtcl-nqp: 3749f5a | Coke++ | src/ (2 files): Convert TclList's 'get_string' vtable from PIR to NQP |
||
| Austin | mmm..149 deleted | 06:58 | |
| That's what we like to see.. | 06:59 | ||
| Coke | yah, but I added 100 back in. =-) | ||
| Can probably make that more idiomatic. | 07:00 | ||
| Austin | Heh... my $self := self | ||
| You know this is going to be good... | |||
| Coke | ah. that can probably go. | ||
| that was so that I could get at self inside the Q:PIR {} that's not there anymore. | |||
| Austin | Oh. | ||
| Coke | ISTR the find_lex didn't work on 'self' | 07:01 | |
| Austin | FYI, 'self' is a lexical - you can just do "find_lex 'self'" | ||
| Coke | There were issues. Could have been something else. | ||
| anyway, it's in NQP now, make test doesn't fail anything new, so I'm -> zzz. Have fun if you like. =-) | 07:02 | ||
| (otherwise I'll clean it up tomorrow) | 07:03 | ||
| Austin | g'night | ||
| dalek | rrot: r45392 | petdance++ | trunk (3 files): shimming up more dummy arguments |
07:20 | |
|
08:45
mib_iz4cn1 joined
08:51
riffraff joined
|
|||
| dalek | kudo: d906f51 | (Solomon Foster)++ | src/core/metaops.pm: Add generic version of reducewith that treats its argument as a list, to allow the [+] 1 case to work. |
10:01 | |
|
10:23
TiMBuS joined
|
|||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32985), fulltest) at r45392 - Ubuntu 9.10 amd64 (g++ with --optimize) | 10:25 | |
|
10:46
payload joined
10:48
payload joined
10:49
payload joined
10:54
Whiteknight joined
|
|||
| dalek | kudo: 020a6a3 | (Solomon Foster)++ | src/core/metaops.pm: Change reducewith triangle case to lazily return values. |
11:04 | |
| purl | dalek: that doesn't look right | ||
| Whiteknight | good morning, #parrot | 11:05 | |
|
11:28
payload joined
12:09
payload joined
12:19
ruoso joined
12:34
kid51 joined
|
|||
| dalek | rrot: r45393 | NotFound++ | trunk/src/pmc/callcontext.pmc: use init_int in get_named_names |
13:11 | |
|
13:14
lucian joined,
leprevost joined
|
|||
| Coke | colomon? | 13:25 | |
| colomon is Solomon Foster | 13:33 | ||
| ... wtf. svn still hasn't come back. | |||
| ww. | |||
| Whiteknight | ? | 13:37 | |
| Coke | ww = wrong window | ||
| (different svn repo) | 13:38 | ||
| here's some parrot fun - get the latest partcl-nqp, latest parrot; build partcl, then ./partcl t/cmd_incr.t - it will occasionally fail due to, I think, hashing order. | 13:40 | ||
| dalek | rtcl-nqp: 93eaba7 | Coke++ | src/TclList.pm: remove unused var. combine some similar if paths. |
13:44 | |
|
14:02
Mokurai joined
14:12
dngor joined
14:17
tetragon joined
14:31
cognominal joined
14:52
fperrad joined
15:06
fperrad_ joined,
riffraff joined
15:16
dngor_ joined
15:58
theory joined
16:01
Austin joined
16:19
arnsholt joined
|
|||
| arnsholt | For PAST nodes that take a value, is there a way I can tell them that they should take a null PMC value? | 16:20 | |
| Austin | arnsholt: I doubt it. | 16:44 | |
| arnsholt | Right | 16:45 | |
| Here have a patch: paste.lisp.org/display/97274 | 16:46 | ||
| NQP ignores bare returns, and I set out in an attempt to make them work. That patch is what I've managed to do | |||
| Essentially, looking up a global undef in the empty namespace and returning that. Works as long as noone defines a function called undef... | 16:47 | ||
| Austin | Heh. | ||
| arnsholt | Any ideas how it can be made better? | ||
| Austin | Autoviv an Undef pmc? | 16:48 | |
| arnsholt | Should work, I suppose. How do I do that? =) | ||
| Austin | PAST::Val with autoviv | 16:49 | |
| Or maybe just 'returns'. Bide.. | |||
|
16:49
darbelo joined
|
|||
| Austin | Maybe PAST::Val.new( :returns('Undef') ) | 16:50 | |
| arnsholt | Hmm. Complains about missing :value attribute | 16:53 | |
| Setting an empty :value() makes it return an actual value | 16:54 | ||
| Austin | Really? | ||
| It ignores the 'returns' setting? | |||
| arnsholt | Looks like. say(foo()) prints out 0, at any rate (where foo() just does a bare return) | 16:55 | |
| Austin | Yeah, but what's the generated pir like? | 16:56 | |
| arnsholt | D'oh. Should've figured that one out | ||
| Austin | If you're doing say(foo()), you're already doing something wrong - since a "return ;" implies no value. | ||
| And like any other CPU, parrot may well just pull stuff out of a register | 16:57 | ||
| arnsholt | Yah | ||
| Austin | (Although it really ought to die) | ||
| arnsholt | Yeah, that was my intuition | ||
| But it looks like it's working, actually | 16:58 | ||
| The code says .return (), which I suppose is interpreted as an empty list | |||
| Austin | For some value of list, yest. | ||
| *yes | |||
| arnsholt | Except I'm reading the code wrong | ||
| Austin | In this case, the list is of values to return. | ||
| Seems like a winner. | 16:59 | ||
| And it's one of my TT's, to boot. | |||
| arnsholt | NQP does returns and the like with exceptions. It really is setting the return value to 0, looks like | ||
| assign $P17, 0 # Where $P17 holds the return value stored in the control exception | 17:00 | ||
| Austin | Okay. | ||
| That's acceptable, I guess. | 17:01 | ||
| TT#1464 | |||
| arnsholt | Oh, there it is | 17:02 | |
| And it's not just in nested blocks. sub foo() { return; return 42; } will return 42 | 17:03 | ||
| The bare return is interpreted as lookup of a hll_global named return | |||
| Austin | yeah | ||
| Because the parser knows that the return keyword takes an argument. | |||
| arnsholt | Yup | 17:04 | |
| return is a prefix operator, in fact | |||
| Austin | Okay, *that's* weird. | 17:05 | |
| arnsholt | A bit I suppose. But it's mainly a convenience I think | ||
| Austin | For whom? | 17:06 | |
| purl | for thee! | ||
| arnsholt | Heh. For the implementer, I'd guess | ||
|
17:09
patspam joined
17:14
darbelo joined
|
|||
| Austin | Here's a behavioral item that p6 apparently missed: attribute classes. | 17:24 | |
| (Not sure that's the right name for it.) | 17:25 | ||
| Basically, if I have an attribute, "name" and it has a certain set of supported behaviors (get_name, set_name, etc); and then I have a different attribute, "type", which also has supported behaviors (get_type, set_type). | 17:26 | ||
| How can I automate that? | |||
| arnsholt | I've no idea. You should ask #perl6 | 17:27 | |
| Austin | I know that C# has some limited support for this, but what I'm thinking about is a formalism. Is there some way that I can specify "go and implement SimpleScalarAttribute semantics for 'name' and 'type'" without having to copy/paste/replace? | ||
| arnsholt | They usually know =) | ||
| Austin | I think I already do know. (You can't.) And I'm more concerned about nqp than perl6. | 17:28 | |
| But it's worth a shot. | 17:29 | ||
| Only 2 users on #perl6 ? Am I on the right server? | 17:31 | ||
| arnsholt | #perl6 is on freenode | 17:32 | |
|
17:33
Austin joined
17:34
hicx174 joined,
Austin joined
|
|||
| Austin | This still work? | 17:38 | |
| I guess so. | |||
| darbelo | FSVO "This" | 17:39 | |
| opbots trust Austin | 17:40 | ||
| slavorg | Ok | ||
| slavorgn | But I don't trust you there, darbelo | ||
| Austin | Heh | 17:41 | |
| What's the difference between org and orgn? | |||
| darbelo | orgn doesn't trust me? | ||
|
17:47
hicx174 joined
18:05
dngor joined
|
|||
| Austin | opbots trust darbelo | 18:06 | |
| slavorg | But I already trust darbelo | ||
| slavorgn | But I don't trust you there, Austin | ||
| Austin | Heh | ||
| orgn doesn't trust many... | |||
| slavorgn++ | |||
|
18:08
Whiteknight joined
|
|||
| cotto | opbots trust darbelo | 18:10 | |
| slavorg | But I already trust darbelo | ||
| slavorgn | Ok | ||
| cotto | phenomenal cosmic power | ||
| darbelo | (phenomenal cosmic power)++ | 18:11 | |
| Austin | Apparently, the thing that will let me do the thing I want is a "trait" | 18:17 | |
| Which is implemented as a role. | |||
| Something like "does Accessor" where Accessor (or a sub-{class,role}) implements the 'does' method to edit either the attribute or the class. | 18:22 | ||
| Whiteknight | good afternoon, #parrot | 18:23 | |
| Austin | Hello, Whiteknight | ||
| Whiteknight | hello Austin | ||
| Austin | So if I say "has $!foo" that implies that there's an Attribute role out there, with multi sub trait_mod:<has>($declarand) {...] | 18:24 | |
| Then I could either say "has $!foo is <<some kind of accessor class>>" | 18:25 | ||
| Or "has $!foo; <<accessor-method>> $!foo <<details>>" | |||
| Or "<<has-accessor-type>> foo;" | |||
| seen pmichaud? | 18:26 | ||
| purl | pmichaud was last seen on #parrot 7 days, 21 hours, 56 minutes and 50 seconds ago, saying: Austin: I haven't had any experiences like what you describe. [Mar 26 20:29:55 2010] | ||
|
18:26
davidfetter joined
|
|||
| Austin | Woo-hoo! The new insurance forms are here! | 18:27 | |
| And cable straps! | |||
| *cable straps!* | |||
| Austin heads for the basement... | |||
| Hmm | 18:29 | ||
| What's a good method name for "go modify the namespace of this class in whatever way is appropriate for you?" | |||
| Install? | 18:30 | ||
| purl | Install is probably extremely finicky...i ended up using the RPM, but of course that is just pure trash...I am through with postgres!!! | ||
| Austin | Actually, it's a role. So "compose" but with a parameter. Woot. | 18:31 | |
| Actually, COMPOSE since it's magic. | |||
| Which makes roles into just another (meta) class. Yikes. | 18:32 | ||
| Hey, Whiteknight, do you feel like rewriting all the PMC types for me? | 18:33 | ||
| Whiteknight | Austin: yeah, sure. I | ||
| 've got 20 mintues free tonight | |||
| Austin | Man, you rock. | ||
| Here's the thing. I started to say this before, but got distracted. | 18:34 | ||
| All the PMCs are currently built on a prototype-based approach. | |||
| A PMC, as seen in *.pmc, shows what an object would look like. | |||
| I think they should be class/object based. | |||
| Whiteknight | No argument there | 18:35 | |
| Austin | That is, pmc types become classes (instances of Class.pmc), and they manage the vtables and whatnot for their objects. | ||
| Whiteknight | finding a way to do it that isn't performance shittacular is a problem | ||
| Austin | Nope. | ||
| 0 performance cose. | |||
| *cost | |||
| Whiteknight | nope to the is-ope? | ||
| Austin | The vtable for a foo pmc object would still be the same. | ||
| But the Foo namespace would have a class backing it up. | 18:36 | ||
| And thus, no more pmcproxy. | |||
| That's the first 20 minutes. | 18:37 | ||
| Whiteknight | okay, what does this magical backing class look like? What does it do that PMCProxy does not? | ||
| Austin | It looks a lot like class.pmc. | ||
| Or an instance thereof. | 18:38 | ||
| And it *is* a class, so pmcproxy is no longer needed. | |||
| darbelo | Make all C PMCs extend class? | 18:39 | |
| Austin | Essentially, yes. | ||
| Except for maybe three. | |||
|
18:39
particle1 joined
|
|||
| darbelo | I doubt it'll be that easy. I'dbe delightedto be proven wrong ;) | 18:40 | |
| Austin | (Object, Class, and one more, to be named later) | ||
| Of course not - after all, there's a bajillion places where the encapsulation gets violated.. | |||
|
18:40
payload1 joined
|
|||
| Austin | What I need is a grad student. | 18:41 | |
| Someone who will do what I ask them without getting paid... | |||
| Austin needs tenure... | |||
|
18:42
kid51 joined
|
|||
| darbelo | You could try selling it as a Summer of code Project... | 18:42 | |
|
18:42
payload joined
|
|||
| Austin | Nah. This would be a full-time thing. | 18:42 | |
| I'm not going to run out of ideas in August. | |||
| Is there a Google "Year of Drudgery" program? | 18:43 | ||
| darbelo | Not that I know of. | ||
| Let me know if you find one. | |||
| Austin | Dear Google, ... | ||
| Find some third-world hacker, convince him that 419 scams aren't making much of a living, and move him into my basement. | 18:44 | ||
| (While you're down there, install these cable straps!) | |||
| Once a month I'll send him to the strip club with $50... | |||
| Feed him rice and Mountain Dew... | 18:45 | ||
| Okay, back to kakapo | |||
| darbelo | Feed him once a month? | ||
| You cheap bastard. | 18:46 | ||
|
18:47
chromatic joined
|
|||
| dukeleto | Austin: i don't find jokes about "third-world hackers" that funny | 18:47 | |
| Austin | Why is that, Duke? | 18:48 | |
| (Please don't tell me you're a grad student...) | |||
| Aww, man. | 18:51 | ||
| Suddenly I need P6metarole? | |||
| dukeleto | Austin: i was a grad student in a past life | ||
| Austin | dukeleto: Were you a CS grad student? | 18:52 | |
| dukeleto | Austin: i am not *that* stupid | ||
| Austin | :) | ||
| Chem-E? | |||
| dukeleto | Austin: good old Mathematics | ||
| Austin | Ah. | ||
| "Here, boy. Fill out this proof for me..." | 18:53 | ||
| dukeleto | Austin: i know that you meant no harm with your joke, but many GSoC students apply from what you call "third-world" countries. I find the insinuation that you can treat people from these countries in a degrading way offensive. | 18:55 | |
| Austin: and many people read these logs. | |||
| Austin: i was more into finding exact analytic solutions to nonlinear hyperbolic partial differential equations, and not so much concerned with epsilon-delta proofs | 18:57 | ||
| kid51 | Austin: I second dukeleto. You wouldn't last 20 minutes at my $job with remarks like that. | 19:02 | |
| Austin | You lucked out, then, duke. When I was in school, I took some grad level courses, and it was clear that a bunch of my classmates were being used as connect-the-dots drudges by the math profs. | 19:03 | |
| (One of the reasons I got out of the program..) | 19:05 | ||
| dukeleto | Austin: i got treated like shit in grad school, too. You are not special in that respect. I think it is pretty much universal | ||
| Austin: i escaped grad school early as well. | 19:06 | ||
| Austin: my original thesis advisor, to make me feel better, told me stories about "the old days." Where you would get put in a closet with a chair, table, a single lightbulb and a pencil. And no pencil sharpner. | 19:07 | ||
| Austin | Heh | ||
| dukeleto | Austin: i ended up firing him and got a new advisor :) | 19:08 | |
| Whiteknight | I fired my first advisor too | 19:09 | |
| it was pretty liberating, though my first advisor never spoke to me again | |||
| dukeleto | Whiteknight++ | ||
| dalek | kudo: 1935270 | moritz++ | t/spectest.data: we now pass catch.t |
19:10 | |
| dukeleto | Whiteknight: i did one better, and fired my first advisor and chose his ex-post-doc. They were on a no-speaking-arrangment, but they both had to go to my defense. I had to be the middleman because they would not talk directly to each other. | ||
| Whiteknight | my first advisor wanted me to write up a weekly, multi-page status report. And if the status report wasn't long or detailed enough, I would have to rewrite it | ||
| dukeleto | Whiteknight: they also had offices directly next to each other. Pretty epicly awesome. | 19:11 | |
| Whiteknight | I spent so much time writing and rewriting status reports that I was never able to improve my status | ||
| dukeleto: sounds like a bad sitcom | |||
| dukeleto | Whiteknight: it was a really bad sitcom | ||
| Austin | (And to any Google Year of Drudgery applicants reading these logs: I apologize if my comments offended you in any way, and for implying, to any extent, that your experiences in the Year of Drudgery program or with other US corporate or public outreach programs will be anything other than unicorns and daisies.) | ||
| Heh | 19:12 | ||
| So you had to walk from the left end instead of the right end of the hallway? | |||
| Or were the doors always closed? | |||
| dukeleto | Austin: mostly closed doors and lots of awkwardness | 19:13 | |
| Austin: i think we might want to run with the "Parrot Year of Drudgery" concept. Could be a winner ;) | |||
| Austin | Sadly, no funding. | ||
| If this was 2000... | 19:14 | ||
| We could just do an IPO | |||
| Perfume.com! | |||
| Powered by parrot! | |||
| The internet is ripe for scent-based commerce... | |||
| chromatic | It worked for Ruby. | ||
| Austin | :) | 19:15 | |
| dukeleto | Austin: we can just pay in "Parrot dollars", which can be traded in for karma. | ||
| Austin | Heh | 19:16 | |
| chromatic | rubysoc.org/ sponsored by Axe Body Spray | ||
| Whiteknight | 30 parrot dollars = 1 karma | ||
| 10,000 karma = half a donut | |||
| Austin | Yikes. | ||
| Whiteknight | and for those exchange rates, it better be glazed or boston creme | ||
| Austin | $100,000 = 20 interns? | ||
| Hmm | 19:17 | ||
| $20k/year. | |||
| I could do that. | |||
| That's $8,000 in property taxes and health insurance, and $1k/month for internet and strippers... | 19:18 | ||
| darbelo | Dude, I could finnace my presidential campaign with that. | 19:19 | |
| Austin | President of what? | ||
| PaFo? | |||
| purl | it has been said that PaFo is the only entity that owns the *entire* work, so it's the only entity that can distribute Parrot or the parrot foundation | ||
| Austin | Heh | 19:20 | |
| "Chargify: You Build. We Bill." | |||
|
19:20
davidfetter joined
|
|||
| Austin | Sounds like my municipal government. | 19:20 | |
| Oh, woot. That's for two months. | 19:24 | ||
| So $30k/year. | |||
| Anyone want to cough up $30k for Kakapo? | |||
| Whiteknight | no | 19:29 | |
| :) | |||
| Austin | Yeah, that's the problem. | 19:30 | |
| Whiteknight | of course, nobody would want to donate any money to Matrixy, Parrot-Linear-Algebra, or Parrot-DataStructures either | 19:33 | |
| so don't feel bad | |||
| darbelo | I got paid for decnum-dynpmcs ;) | ||
| Suckers. | |||
| cotto | and I got a shirt | ||
| ha | 19:34 | ||
| Austin glares at darbelo... | |||
| darbelo | Not my fault you graduated, dude. | ||
| Austin | opbots disrespect cotto | ||
| Man, that trick never works... | 19:35 | ||
| Whiteknight | purl disrespect cotto | ||
| purl | Whiteknight: excuse me? | ||
| Whiteknight | damnit | ||
| darbelo | Disrespect is purl's domain. | ||
| Austin | Another feature requirement.. | 19:36 | |
| darbelo | The opbots know better than to mess with her. | ||
| Austin | For a 'role', what is the analogous term to 'parent' for a class? | 19:38 | |
| That is, a class may have one or more parent classes. A role may compose one or more ____ roles ? | |||
| composant? composing? composed? parent? ancestor? | 19:39 | ||
| chromatic | (null) | 19:41 | |
| There is no analogous term. | 19:42 | ||
| Austin | And yet I need one. | ||
| To give a name to the optional parameter... | |||
| P6metarole.register('NewRole', :roles(a, b, c)) ? | |||
| wfm | 19:43 | ||
|
19:58
joeri joined
|
|||
| sorear | Austin: re. #perl6: Check out MooseX::FollowPBP on CPAN | 19:59 | |
| Austin: it hasn't been backported to 'real' Perl6 yet, I don't think any Perl6 implementation covers enough of the metamodel (yet!) | |||
| dalek | rrot: r45394 | mikehh++ | trunk/config/gen/makefiles/root.in: add runtime/parrot/library/ProfTest/*.pbc files to be cleaned |
20:04 | |
|
20:22
dngor joined
20:26
kid51 joined
|
|||
| mikehh | kid51: how do you get svn status to ignore generated files | 20:48 | |
| chromatic | I thought someone fixed the CSS in Trac so that the coloring of diffs was visible. | 20:49 | |
| mikehh | chromatic: does for me | 20:55 | |
| chromatic | Pink and pale green don't work for me. | ||
| mikehh | 'k | ||
| when I do an svn status before cleaning I get all the runtime/parrot/library/ProfTest/*.pir and *.pbc files (8 of them) displayed with a ? - how do I prevent this | 20:58 | ||
| they are generated by make | 21:00 | ||
| kid51 | mikehh: You have to set the svn:ignore property in the directory where those files are generated. | ||
| Whiteknight | chromatic: it's my experience that most software isn't built with the "differently-seeing" in mind | 21:01 | |
| kid51 | I always have to RTFM to find out the exact syntax | ||
| I know it's some variant of 'svn propedit' | |||
| chromatic | Any software that requires me to patch my retinas with rat stem cells is broken. | ||
| mikehh | ah - in the directory - I tried from the parrot base directory | 21:02 | |
| withe the <PATH> | |||
| let me do that | |||
| Whiteknight | chromatic: we had a huge problem at my work, a contractor setup some of the manufacturing software to turn green on success, red on failure, and with absolutely no textual status indication | 21:04 | |
| needless to say, hilarity ensued when we shipped a number of units which failed testing, but the testers didn't know it | |||
| doesn't help that the instructions said "When the tool is successful, it looks like this:" | |||
| mikehh | kid51: it informs me the file is not under version control | 21:05 | |
| do you have to add it then ignore it | 21:06 | ||
| damnit I have done this before but not recently | 21:07 | ||
| too much git :-{ | 21:08 | ||
| Austin | mikehh: The operation is on the directory, not files. If the directory is not under vc, then ignore the entire directory from a higher-level dir that is under vc | 21:09 | |
| svn propset svn:ignore "ProfTest" runtime/parrot/library | 21:10 | ||
| or | |||
| svn propset svn:ignore "*" runtime/parrot/library/ProfTest | |||
| if that works | |||
| cotto | I think you'll want *.pir and *.pbc | ||
| mikehh | 4 files in the directory - *.nqp ARE under version control - the *.pir and .pbc files are generated from them | 21:11 | |
| Austin | Man, if there is anything more annoying than getting your wire measured out, running it, strapping it down, and then coming up a couple of inches short, I hope I don't find out what it is until tomorrow. :( | 21:14 | |
| If the directory has files under vc, then the directory is under vc. So: | 21:15 | ||
| svn propset svn:ignore '*.pir\\n*.pbc" runtime/parrot/library/ProfTest | |||
| Whiteknight | Austin: Almost any time I need wire I measure it, measure it again, and then take an extra armlength or two before I cut | 21:16 | |
| you can always cut shorter, you can never cut longer | |||
| Austin | Whiteknight: Yeah, me too. | ||
| Which is what makes it so annoying. | |||
| Except that I didn't cut. | |||
| I just had to inchworm four inches of wire through umpty-ump cable straps. | |||
| Each one of which is apparently surrounded by self-guided intelligent dust that aims for my eyes and nose.. | 21:17 | ||
| But, on the plus side, the basement is now wired for surround sound. | 21:18 | ||
| And thanks to the miracle of wireless USB, I can now *crank* my itunes... | 21:19 | ||
| (while simultaneously printing in the background. woot) | |||
| sorear: Thanks for the moosex pointer. | 21:20 | ||
| Heh, say that three times fast... | |||
| kid51 | mikehh: If you haven't gotten it yet, consult: svnbook.red-bean.com/en/1.1/ch07s02.html about halfway down the page | 21:24 | |
| I think I've got it. Doing a commit. | 21:33 | ||
| darbelo | Hm. How bad would it be to make the global NFG grapheme table a PMC? | 21:34 | |
| kid51 | mikehh: See if r 45395 works for you. | ||
| darbelo | Wait, can I even instantiate PMCs that early in the game? | 21:35 | |
| Austin | Heh | ||
| Just look them up by name.. | |||
| All you need is a string.. | |||
| :) | |||
| kid51 | Better still: r45396 | 21:36 | |
| darbelo | I guess I'll be fine so long as nobody passes a russified servo-croat option on the command line ;) | ||
| kid51 | ... wherein I say, "SVN: ignore all .pbc files in this directory." | 21:37 | |
| Austin | Careful, darbelo. Ignore the croats at your peril.. | ||
| darbelo | Have I mentioned that unicode sucks? | 21:38 | |
| sorear | Would you prefer ISO-2022? | 21:39 | |
| darbelo | But the alternatives suck workse. | ||
| If only we could encode all of the characters in the world in a byte... | 21:40 | ||
| Austin | We just need to make more movies.. | 21:41 | |
| Eventually, English takes over and everything fits < 0x7f | |||
| darbelo | You'll pry | 21:42 | |
| Austin | pry? | ||
| darbelo | 'LATIN CAPITAL LETTER N WITH TILDE' from the Real Academia's dead hands boy. | ||
| dalek | rrot: r45395 | jkeenan++ | trunk/runtime/parrot/library/ProfTest: Set svn:ignore on 4 generated files in runtime/parrot/library/ProfTest/. |
21:43 | |
| rrot: r45396 | jkeenan++ | trunk/runtime/parrot/library/ProfTest: Modify the svn:ignore property on runtime/parrot/library/ProfTest/ to specify pattern: *.pbc. |
|||
| Austin | Heh | 21:50 | |
| darbelo++ | |||
| "cold dead fingers" | |||
| darbelo | Yeah, those. | ||
| purl | yeah, those are sweet. | ||
| darbelo | My English isn't all here today. | ||
| Also, you need to wait for the last generation of non-ascii named people to die off. | 21:51 | ||
| Oh, and the extintion of the argentinian ĆandĆŗ, among others ;) | 21:52 | ||
| cotto | There's a more proactive approach, though I wouldn't recommend it. | ||
| darbelo | My name is all ascii. I'm not worried. | ||
| cotto | I'm safe for now, but what if I decide to spell my name with a dotless i? | 21:53 | |
| darbelo | Then you're asking for it. | 21:54 | |
| Austin | Just use a 1 instead | 21:55 | |
| darbelo | Oh, and stay clear of ligatures too. Those are rather high on my hate list. | 21:56 | |
| NotFound_gf is JuliĆ”n, with á | |||
| Sounds much better that the lame 'Julian' english. | 21:57 | ||
| darbelo | You mean 'LATIN SMALL LETTER A WITH ACUTE', but I agree ;) | ||
| NotFound_gf | I'm thinking about implementing the html encoding in parrot, just to make worse the multibyte charecter thing. | 21:58 | |
| chromatic | You do that and we'll take away your birthday, or give you extras. | 22:02 | |
| mikehh | kid51: it needs to be a newline separated list with *.pir and *pbc | 22:04 | |
| dalek | kudo: 93fa3d5 | jonathan++ | src/Perl6/ (2 files): Implement interpolation of method calls, array indexing and hash indexing in strings. Needs a workaround due to <after> being NYI. |
||
| kudo: 84fcbbc | jonathan++ | t/spectest.data: Merge branch 'master' of github.com:rakudo/rakudo |
|||
| cotto | Mmmm. More birthday cakes. | 22:05 | |
|
22:07
snarkyboojum joined
|
|||
| kid51 | mikehh: Are any *.pir files in that directory generated as well (and therefore need to be ignored). | 22:12 | |
| ? | |||
| If so, you can try that out yourself: svn pe svn:ignore runtime/parrot/library/ProfTest/ | 22:13 | ||
| As a former typographer ... | 22:14 | ||
| kid51 has a special fondness for ligatures and dotless i's. | |||
| darbelo | I like how they look. Not how they encode. | 22:15 | |
| I feel like it's trying to encode *kerning* into plain text. | |||
| dalek | rrot: r45397 | mikehh++ | trunk/runtime/parrot/library/ProfTest: set svn:ignore to +.pir and +.pbc on runtime/parrot/library/ProfTest |
22:16 | |
| rrot: r45398 | mikehh++ | trunk/MANIFEST.SKIP: regenerate MANIFEST.SKIP |
|||
| darbelo | But what the hell do I know about that? I like typing in fixed width fonts. | ||
| kid51 remembers the days when typewriters *only* had fixed-width fonts | 22:18 | ||
| darbelo learned to type on a Remington. | |||
| kid51 | Several weeks ago, after a repair on this iBook nearly killed it, I had to reboot from disk and type the dreaded letters: fsck. | 22:19 | |
| Since I didn't know whether my computer would ever boot again, I had to write down the output of fsck. | |||
| I got out an Olympia typewriter that my grandfather bought in 1947 and typed it up. | 22:20 | ||
| darbelo | Ironically, I still have that remington, But it's 'N' broke a long time ago, so the last time I used it I had to type 'Ć's and erase the '~' part ;) | 22:22 | |
| mikehh | kid51: there are 4 *.nqp files in the directory which generate the *.pir which is used to generate the *.pbc files | 22:29 | |
| it seems to be ok now | |||
| kid51 | mikehh: Confirmed. | 22:31 | |
| mikehh | I know I have done this before - I just couldn't remember how it was done | 22:32 | |
| mikehh I think my mind is going ... going ... going - never mind | 22:33 | ||
| All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32992), fulltest) at r45398 - Ubuntu 9.10 amd64 (gcc with --optimize) | 22:44 | ||
| sorear | darbelo: A while ago, TimToady proposed implementing NFG as an array of rationals.. did you see that, and has it been rejected? | 22:50 | |
| dalek | kudo: cd0c7cf | jonathan++ | src/Perl6/ (2 files): Fix up quote mod checks for array and hash interpolations, and implement function call interpolation too. |
||
| darbelo | sorear: Nopes, never saw that. | 22:51 | |
| Sounds interesting. | |||
| sorear | A single pure character is represented by its integer codepoint | 22:53 | |
| a composed character is a dyadic rational which encodes the component sequence in canonical order in its binary expansion | |||
| darbelo | Have link? Google isn't finding me anything useful. | 22:54 | |
| sorear | this avoids all use of a global registry, preventing associated DOSes, and happens to preserve lexicographic ordering | ||
| irclog.perlgeek.de/perl6/2010-03-13#i_2098502 | |||
| darbelo | sorear: You can have more than one combining character attached to a letter. | 22:55 | |
| But I guess I'll go read the irclog ;) | |||
| sorear | darbelo: a dyadic rational can have more than 21 bits after the binary point | ||
| obviously a RPA of Rats would be prohibitively expensive; encoding (into a bytestring or other format) is left for the implementor | |||
|
22:56
lucian joined
|
|||
| darbelo | rat64? And I was worrying that encoding into a 32-bit-wide integer was too memory intensive ;) | 23:00 | |
|
23:12
dngor joined
|
|||
| sorear | darbelo: BigRat more like it | 23:19 | |
| darbelo | That is starting to slide into prohibitively expensive territory. | 23:22 | |
| sorear | 15:55 < sorear> obviously a RPA of Rats would be prohibitively expensive; encoding (into a bytestring or other format) is left for the implementor | 23:23 | |
| we could even use UTF-8 with base + combiners in order | |||
| array of rat is a nice clean semantic view | 23:24 | ||
| darbelo | True. Preserving lexicographic ordering *is* a nice feature. | 23:25 | |
| But that starts to diverge from the path to encoding unification. Which is where I think parrot should go. | 23:30 | ||
| Whiteknight | darbelo: Maybe consider lazily converting to The One Format inside hashes only? | 23:34 | |
| darbelo: impressive application | 23:35 | ||
| darbelo | To be honest, I recycled last year's formarring. And dukeleto++ was a huge help getting thatone into shape. | 23:36 | |
| I also decided to schedule like an optimist ;) | 23:38 | ||
| Whiteknight | well, it is impressive | ||
| it's one of the few big projects specified in the PDDs that has never even been prototyped | 23:39 | ||
| darbelo | Yeah. You'll also notice that I never mention the merge back into trunk. I'm aiming for prototype. If it's megeble, even better ;) | 23:42 | |
| Whiteknight | megeble anything like vegemite? | 23:43 | |
| darbelo | Merge-able. | ||
| My typing isn't all it used to be... | 23:44 | ||
| Whiteknight | :) | 23:46 | |
| sorear ponders the possible value of character encodings that aren't monoid isomorphisms | 23:48 | ||
| er. homomorphisms | |||
| Whiteknight is able to put together only a very fuzzy understanding of "monoid homomorphisms" | 23:53 | ||
| Whiteknight needs to finish reading "The Little Schemer" | 23:54 | ||
|
23:57
chromatic joined
|
|||
| Whiteknight | james-iry.blogspot.com/2009/05/brie...wrong.html | 23:58 | |
| that's one of my favorite blog posts ever. So many gem quotes | |||
| "It is a syntax error to program FORTRAN while not wearing a blue tie" | |||
| "Dennis Ritchie invents a powerful gun that shoots both forward and backward simultaneously. Not satisfied with the number of deaths and permanent maimings from that invention he invents C and Unix." | 23:59 | ||
| that's a quote chromatic can appreciate | |||