|
Parrot 1.7.0 "African Grey" is out! | Testing hackathon November 14 and 15 -- trac.parrot.org/parrot/wiki/Opcode...gHackathon | Latest modified TT's: icanhaz.com/parrotbugs Set by moderator on 14 November 2009. |
|||
| dalek | rrot-linear-algebra: a4567f9 | Whiteknight++ | src/pmc/complexmatrix2d.pmc: fix set_pmc_keyed to work with Floats and Complex |
00:01 | |
|
00:05
chromatic joined
|
|||
| dalek | rrot-linear-algebra: 56c374d | Whiteknight++ | src/pmc/complexmatrix2d.pmc: add support for Integer on ComplexMatrix2D set_pmc_keyed |
00:07 | |
|
00:09
NotFound joined
|
|||
| NotFound | hi | 00:09 | |
|
00:14
Essobi joined
|
|||
| dalek | rrot-linear-algebra: ec61009 | Whiteknight++ | src/pmc/ (2 files): fix complex matrix indexing |
00:37 | |
| rrot-linear-algebra: 664950e | Whiteknight++ | src/pmc/complexmatrix2d.pmc: remove diagnostics message |
00:43 | ||
| cconstantine | hi | ||
|
00:48
abqar joined
|
|||
| nopaste | "GeJ" at 202.171.79.135 pasted "[PATCH] fix probable typo in t/op/time.t" (13 lines) at nopaste.snit.ch/18709 | 01:02 | |
| GeJ | And Good morning everyone. | 01:03 | |
| cconstantine | dumb question: how do I get the svn checkout address for trac.parrot.org/languages/browser/scheme/trunk ? | 01:07 | |
| nm, it appears that there isn't a lisp implementation on parrot that supports macros? | 01:18 | ||
|
01:54
kid51 joined
|
|||
| kid51 | cconstantine: svn.parrot.org/languages/scheme/trunk | 01:59 | |
| cconstantine | thanks | 02:00 | |
| dukeleto | 'ello | 02:17 | |
| cconstantine: you can also do "svn info" in an svn scheckout to find that out | |||
| dukeleto made some good progress on PL/Parrot today. it passes some tests! | 02:18 | ||
| cconstantine | dukeleto: all I had was that url, I didn't have it checked out | ||
|
02:18
Austin joined
|
|||
| dukeleto | cconstantine: yes, i know. i am saying for future reference, when you have 50 checkouts and you want to know where one came from | 02:18 | |
| cconstantine | dukeleto: ah, yes. I'm aware of that command :) | 02:19 | |
| is there anyway to build a PAST without using globals? | 02:23 | ||
| and compile/run it | |||
| japhb | "without using globals"? | ||
| cconstantine | the standard parser generater uses globals for blocks, and as best I can tell the 'make' in the actions modifies a global | 02:26 | |
| Austin | CConstantine: The 'make' builtin is a convenience function only. You don't have to use it in order to generate a past tree. | 02:27 | |
| japhb: Standard library? | |||
| purl | Standard library is, like, one of the decent part of Python actually. It's the plethora of useless and relatively sparse addons that pisses me off | ||
| japhb | Austin, huhwhat? | ||
| cconstantine | Austin: what does it do? | ||
| Austin | It links the past node with the grammar node (parse tree). | 02:28 | |
| You can do the same thing with :node() | |||
| cconstantine | it only takes one argument... how does it connect two things? | ||
| Austin | Japhb: The wiki says to ask you about the parrot standard library. | ||
| japhb | It does? | 02:29 | |
| purl | if you say so... | ||
| japhb | link? | ||
| purl | or "Link is ... like ... this pointy eared goblin that walks around in midi-music land with a letter opener attacking circles and things and wooing princesses but not bannon, you know?" or preaction is Error. | ||
|
02:29
Austin left
|
|||
| japhb | OMFG I'm going to go all DOOM on purl one of these days | 02:29 | |
|
02:29
Austin joined
|
|||
| Austin | # working on Parrot standard library (talk to japhb) | 02:29 | |
| japhb | Right, but what's the url of the page containing that? | 02:30 | |
| cconstantine | ok, so if I were to build a PAST manually... how would I compile it? run it through the HLLCompiler's 'POST' and 'PIR' methods? | ||
| Austin | trac.parrot.org/parrot | ||
| Cconstantine: yes, exactly. | |||
| japhb | I'll be darned. | ||
| cconstantine | Austin: ok, I think the whole parser/generater that comes with parrot isn't exactly what I need. | 02:31 | |
| japhb | Well, it's kinda silly to ask me, since I don't appear to have much influence on it, other than needing what Plumage needs. I was once tasked with figuring out what our base set should be, but not long after that, our library goal changed. | 02:32 | |
| Austin | Cconstantine: To answer an earlier question of yours, the action rules where it is okay to use 'make' are methods of a grammar object. That grammar object is a mechanically-generated subclass of a type called 'Match' or something like that. | ||
| japhb | So I could probably beg for an addition, but that's about all the influence I have. | ||
| Austin | The 'match' object knows about substrings (matches) of the input text. The 'make' builtin is essentially calling Match.!make($past_node), so it links the input file with the generated PAST. | 02:33 | |
| cconstantine | Austin: ah, I think I remember something about 'match' objects from before... | ||
| japhb removes himself from the page | |||
| Austin | japhb: :) I was going to suggest that Kakapo is intended to do some of that. | ||
| cconstantine: Anyway, the relationship is kind of backwards, since the past nodes include match text, which links to past nodes, which include... | 02:34 | ||
| cconstantine | Austin: yeah | ||
| Austin | But the "model" of P6 grammars is that you always start from the source text, so that's how it is built. | 02:35 | |
| Anyway, they're not globals, except in the sense that the whole parser is a global object. | |||
| Lots of *other* stuff in there is global, though. | |||
| cconstantine | I'm trying a lisp model... so I need to be able to go from text->lists or code->lists and from lists-> AST | 02:36 | |
| Austin | Hmm. | ||
| Are you sure you don't have that backwards? | |||
| cconstantine | quite possibly, howso? | ||
| Austin | Are both lists and AST relevant at the same time? | ||
| (In my poor understanding, lists are the internal representation, so why would you go from list -> something else?) | 02:37 | ||
| cconstantine | when a macro executes it'll return a list (as in a linked list of cons cells) | ||
| dalek | tracwiki: v119 | japhb++ | WikiStart | 02:38 | |
| tracwiki: I'm not in charge of the standard library | |||
| tracwiki: trac.parrot.org/parrot/wiki/WikiSt...ction=diff | |||
| Austin | Right? | ||
| purl | ... | ||
| cconstantine | I like the idea of just converting a tree of cons cells to a PAST (should be pretty easy), and let parrot compile the PAST | ||
| Austin | Oh. | ||
| Okay. | |||
| There's no reason not to do that. | 02:39 | ||
| cconstantine | I could be way off, but I don't see any other way of doing macros that execute at compile-time | ||
| Austin: are you familiar with lisp? | |||
| Austin | Not "implement an interpreter" familiar, but I did some emacs hacking a millenium or so ago. | 02:40 | |
| cconstantine | hehe, I'm afraid I'm not either... but I've done some minor hacking with CL and clojure | 02:42 | |
| the macro system lets you define functions that execute at compile time. | |||
| Austin | Okay. Sounds a lot like perl. | 02:43 | |
| cconstantine | calling a macro looks exactly like calling a function, but the function executes at compile-time, the arguments are not evaluatable (they are just uncompiled code represented as lists), and the result of the macro is put in place of macro | 02:44 | |
| am I making sense? | 02:47 | ||
| Austin | Yes. | 02:48 | |
| So a macro definition essentially translates into a call to "eval(...)" | 02:49 | ||
| cconstantine | kinda yeah | ||
| but the key part is that the result of the macro execution (the return value) is placed back into the AST | 02:50 | ||
| Austin | So you need to do "recursive compilation" yes | ||
| ? | |||
| cconstantine | yes | ||
| and macros can't be expected to return PAST nodes | |||
| Austin | I'm doing that in Close (for #include processing) and it works fine. | ||
| Yeah. | 02:51 | ||
| You need to go further than me. | |||
| cconstantine | Close? | ||
| purl | Close is close file (or pipe or socket) handle or bad on sockets, use shutdown() instead or horseshoes or grenades or nuclear weapons or code.google.com/p/close/ | ||
| Austin | I just want the PAST nodes, and I'm done. | ||
| It's a C-like language for Parrot. | |||
| (And no, it doesn't run right now. I'm wasting time on Kakapo when I should be doing compiler work. :( | |||
| cconstantine | hehe | 02:52 | |
| right, these aren't C-style macros, this is arbitrary code | 02:53 | ||
| lisp syntax is so simple I should be ok without the parrot provided parser-generater as long as I can generate my own PAST and compile/run it as needed | 02:54 | ||
| Austin | Oh yeah, no problem there. | ||
| I routinely do that when I'm trying to demonstrate some problem of another. | 02:55 | ||
| cconstantine | and I'd like to still make use of HLLCompiler | ||
| Austin | I just start fabricating PAST::Nodes and tie them together. Eventually, in that scenario, I replace everything my parser has done with the "faketree()" output and do one final "make $past" in my TOP target so the compiler will accept it. | 02:56 | |
| cconstantine | So, I guess I need to back-up, look at what I need to do to manual parse lisp code, and walk through the various stages | ||
| I would really like to avoid 'make' calls like that | 02:57 | ||
| Austin | :) | ||
| cconstantine | 'magic' like globals, implicit arguments, and invisible arguments bother me | 02:58 | |
| Austin | Yeah, but this isn't any of those. | ||
| It's just 'self' | |||
| cconstantine | I guess I don't understand what it does then | ||
| Austin | My Close grammar has a line like "grammar close::Compiler;" in it. | 02:59 | |
| Then it has "rule TOP { ... }" | 03:00 | ||
| Well, if you replace "grammar" with "class", and replace "rule" with "method", what do you get? | |||
| cconstantine | downloading | 03:01 | |
| purl | i think downloading is easy. | ||
| Austin | The various grammar rules are methods for this generated class that does parsing. And 'make' is an inherited method from the base class 'Match'. | ||
| So your "grammar lisp;" becomes "class lisp" | |||
| and your "rule s_expression" becomes "method s_expression" | 03:02 | ||
| And in the middle of "method s_expression" you are calling "make", which is just an implicit call to "self.make(...)" | |||
| cconstantine | ok | ||
| so self.make(...) adds '...' to? | 03:03 | ||
| everytime there is a call to make it seems like the Node is done | |||
| Austin | So "make" is a little bit of syntactic sugar that Pmichaud put in, but it's just a method call. | ||
| Make takes the current match object (the "parse tree" node) and adds a link to whatever PAST node you give it. | 03:04 | ||
| cconstantine | how does it know what the parse node is? | ||
| Austin | So calling "make" is like saying "self.current_parse_tree_node.set_past_node($past)" | 03:05 | |
| cconstantine | 'this'? | ||
| purl | 'this' is the current object, usually | ||
| cconstantine | wierd | ||
| Austin | Remember, the parser is a tree-builder object. | ||
| Actually, two objects. | 03:06 | ||
| (Grammar + Actions) | |||
| cconstantine | right | ||
| diakopter | (aside) ah. in jsmeta the equivalent is this.result = $past | 03:07 | |
| Austin | So Grammar.s_exp calls methods like "match(L_PAREN)" and self.s_exp() (recursive s_exps, right?) | ||
| And Grammar.s_exp eventually calls Actions.s_exp when you put a {*} in the grammar. | |||
| cconstantine | github.com/cconstantine/Reason/tree...r/src/pct/ | ||
| so, TOP is a sequence of statements, a statement is a '(' TERM ')' | 03:08 | ||
| and so on | |||
| Austin | okay | ||
| So Reason::Grammar::statement | 03:09 | ||
| calls (inherited method) self.match( '(' ) | |||
| then calls local method self.TERM() | |||
| then calls inherited method self.match( ')' ) | 03:10 | ||
| cconstantine | ok | ||
| Austin | Somewhere down the line we get to your "token integer" | ||
| TERM -> value -> integer, I'd guess. | |||
| cconstantine | right | ||
| Austin | So Reason::Grammar::integer calls \\d+ (however that gets coded), and then sees {*} | 03:11 | |
| So Reason::Grammar::integer calls Reason::Grammar%C7::Actions::integer | 03:12 | ||
| So Reason::Grammar::integer calls Reason::Grammar 7::Actions ::integer | |||
| cconstantine | that results in an IntegerNode | ||
| Austin | (love the color) | ||
| cconstantine | ? | ||
| Austin | And Reason::Grammar::Actions::integer is NQP code, not P6Grammar code. | ||
| So Actions::integer calls PAST::Val.new to construct a new past node. | 03:13 | ||
| Then it calls 'make' | |||
| Secretly, and here you can hate on the implicit parameters | |||
| cconstantine | that adds the PAST::Val to Actions::integer | ||
| Austin | Reason::Grammar::integer passed a Match object (the current parse tree node) over to Reason::Grammar::Actions::integer. | 03:14 | |
| It was $/ | |||
| So Reason::Grammar::Actions::integer calls 7 make( $past ) | 03:15 | ||
| and 'make' secretly does 7 $/.ast( $past ); | |||
| settings the .ast attribute of the current match node. | |||
| cconstantine | so, the cons that uses the term can pull it out from $/.ast() | 03:16 | |
| Austin | And then Reason::Grammar::Actions::integer returns to Reason::Grammar::integer, which does whatever finishing-up and then returns to value, which returns to TERM, etc. | ||
| cconstantine | wow | ||
| ok, so much more than I would put in a parser.. but I've never built a parser so.... | 03:17 | ||
| Austin | :) | ||
| Yeah, it's expensive as hell | |||
| cconstantine | so, if I 'knew' some functions were to be called at compile-time | ||
| Austin | Frankly, the guys doing ANTLR (a Java based recursive-descent parser generator) have spent a long time trying to improve the performance of their parser. | ||
| I'm not sure that P6's approach will ever be the super-performant thing that P5 was. | 03:18 | ||
| cconstantine | I could generate the 'call' PAST and execute it in the action, 'make $result' | ||
| Austin | I'm not sure, because the semantics might change, right? | ||
| cconstantine | well, if the result was a value that'ld be fine | ||
| Austin | I mean, if you have one macro nested inside another, you can't really do much in advance, can you? | 03:19 | |
| cconstantine | but the result could be something like (let (x-123 (some-func)) (if x 1 0))) | ||
| you do the nested macro first | 03:20 | ||
| Austin | Right. | ||
| cconstantine | and that result wouldn't be a string, it'd be a data-structure | ||
| Austin | But what I'm thinking is that you've really just got a set of function calls. | ||
| And some of the functions are "meta" | |||
| cconstantine | that structure needs to be converted into the equivalant PAST | ||
| meta? | |||
| purl | somebody said meta was so large it's seriously polluting searches or at search.cpan.org/~veltzer/ or metabot, an IRC frontend to Acme::MetaSyntactic | ||
| Austin | Yeah. | ||
| Say I have a function 'foo' and it returns 1. | 03:21 | ||
| That's pretty straightforward. | |||
| cconstantine | right | ||
| Austin | But a macro is really a function that calls eval. | ||
| Or something. | |||
| cconstantine | not exactly | ||
| Austin | Okay. | 03:22 | |
| cconstantine | a macro is a function that's called during compilation | ||
| Austin | (Whatever "compilation" means. :) | ||
| cconstantine | the lines blur | ||
| the funny lisp syntax turns directly into a tree | |||
| Austin | Right | ||
| But a macro is a lisp function that is called during compilation, right? | 03:23 | ||
| cconstantine | and while turing that tree into a PAST (depth first) if I see something that looks like a function call to a function defined as a macro, that function is called, and the return value is put in place of the call to the function | ||
| pmichaud | I would tend to think of lisp as being more of an interpreter than a compiler. | ||
| Austin | Yeah, me too. | ||
| cconstantine | ish | ||
| the end result is fully-compiled code | |||
| Austin | So in order to compile, you have to be "running lisp" to execute the macro. | ||
| cconstantine | be it x86 or pir, or whatever | 03:24 | |
| right | |||
| pmichaud | one could certainly use the Action methods to directly run the code instead of converting to PAST that then runs the code. | ||
| i.e., I'm not sure PAST is really needed in an interpreter. | |||
| cconstantine | the issue is then compiling the return-value of that code | ||
| Austin | So it sounds like you've got N passes, where N > 1, where you run parts of the tree. | ||
| pmichaud | no, you just make the return value the result of the thing you just parsed | 03:25 | |
| (which could be a closure... which I suppose is why you need PAST) | |||
| cconstantine | but the thing returned needs to be compiled | ||
| pmichaud | yeah | ||
| cconstantine | and it won't be text | ||
| Austin | No | ||
| pmichaud | that's okay, PAST normally isn't text | ||
| Austin | It'll be a sub. | ||
| pmichaud | and there's nothing that requires the thing to be attached to a parse tree to be PAST or text | 03:26 | |
| anything can be attached as the .ast | |||
| Austin | So I can do "make 0;" | ||
| cconstantine | but it needs to be someting POST can interperet | ||
| pmichaud | ? | ||
| Austin | Only if you run POST on it. | ||
| :) | |||
| pmichaud | one could certainly compile PAST directly to a Sub | ||
| cconstantine | right | ||
| pmichaud | and then just keep the Sub | ||
| Austin | But in your case, cconstantine, suppose there is no PAST. | 03:27 | |
| Suppose there's only cons cells and lists. | |||
| cconstantine | right | ||
| pmichaud | yeah, that's the way I'd be approaching it | 03:28 | |
| so the result of every operation is a list | |||
| Austin | So parsing '1' calls TERM -> value -> integer, which eventually does7 make Lisp::Cons.new(:value(1)); | ||
| cconstantine | pmichaud: exactly | ||
| Austin | Or whatever the right data structure is. | ||
| cconstantine | so I'd go from text-> a tree of cons cells, symbols, and values | 03:30 | |
| Austin | Right. | ||
| pmichaud | exactly | ||
| and the program is executed as it is parsed. | |||
| cconstantine | and I'd zip up that structure into a PAST (things like PAST::Blocks and PAST::Ops) | 03:31 | |
| pmichaud | if you're wanting to have a precompiled form, I guess so. | ||
| I'm not quite sure how that would work -- I've only ever dealt with Lisp as an interpreter (and that was 20+ years ago) | |||
| cconstantine | during zipping if I come across a call to a macro I'll make that call code, execute it and treat the result as if it were the macro | 03:32 | |
| Austin | Or do it immediately. | ||
| Since your 'zipping' corresponds to the compile phase. | |||
| cconstantine | kinda | ||
| yeah | |||
| it's the first step into compiling | 03:33 | ||
| Austin | So how do lisp macros behave? | ||
| cconstantine | 'or' is frequently a macro | ||
| Austin | Are they function-like, or text-like (a la the C preprocessor) | ||
| cconstantine | they work directly on the AST | 03:34 | |
| so, with 'or' | |||
| Austin | If they work on the AST, then they have to be balanced, right? So they must be function-like. | ||
| (In other words, you can't have a macro defined as ")) x)" | 03:35 | ||
| cconstantine | correct | ||
| Austin | or some other horror that would be trivial in C :-| | ||
| cconstantine | without any other info it's not possible to tell if you're calling a function or a macro | ||
| Austin | okay | ||
| cconstantine | so, (or 1 2) would turn into something like (let (x 1) (if x x 2)) | 03:36 | |
| the conversion happens at compile time | |||
| Austin | Macros can call other user-defined functions, right? | 03:37 | |
| cconstantine | the 'or' macro is just some code that returns a list that corresponds to code that implements 'or' | ||
| yeah | |||
| as long as they've been compiled | |||
| Austin | And if they haven't been compiled, what happens? | ||
| cconstantine | function-not-found | 03:38 | |
| Austin | Ah. | ||
| As long as they've been defined. | |||
| cconstantine | right | ||
| Austin | So in this case, you could "interpret" the lists, or you could zip along and convert them to pir. | ||
| cconstantine | most freqently macros are more like templates (ie, take these forms and plug it into a template) | ||
| in lisp worlds you typically convert text to this tree of cons cells, and 'compile' means go from that tree to executable code | 03:40 | ||
| so What I need to do is go from text to the tree | |||
| Austin | Right. | ||
| But you could stop right there, at the tree, and interpret. | 03:41 | ||
| Or you could compile. | |||
| cconstantine | then when converting that tree into executable code (or PAST Nodes) if I see a call to a macro I execute the macro and compile the result of the macro instead of the call to the macro | ||
| well.. you could interpret C... | |||
| Austin | Sure. And I've used that product. | 03:42 | |
| :) | |||
| cconstantine | so I could use the parser to build the tree of cons cells | 03:43 | |
| Austin | Right. | ||
| cconstantine | instead of using make $SomePASTNode | ||
| I'd do make $someConsCell | 03:44 | ||
| Austin | rogjt/ | ||
| eep | |||
| right | |||
| cconstantine | roger? | ||
| purl | Roger Roger. What's our vector Victor? | ||
| cconstantine | and the object type I'd get to the next phase (say I made a phase 'lisp-is-awesome') | ||
| would be a.. tree of cons cells? | 03:45 | ||
| Austin | Right. Now you have a function that gets passed a $tree. The $tree isn't past, it's cons cells. What you do with that is up to you. | ||
| cconstantine | so I wouldn't get something funky like a Match object? | 03:46 | |
| Austin | Nope. | ||
| Of course, you could if you wanted. | |||
| But you don't. | |||
| cconstantine | correct | 03:47 | |
| hmmm | 03:48 | ||
| ok | |||
| Austin | For example, in $_PARROT/compilers/pct/src/PAST/Compiler.pir is the code that gets handed a $tree of PAST nodes. | ||
| It compiles them into POST nodes. | |||
|
03:48
janus joined
|
|||
| cconstantine | I've spent some time reading in there ;) | 03:48 | |
| is'nt that just 'post' ? | 03:49 | ||
| Austin | ? | ||
| cconstantine | the stage 'post' | ||
| Austin | I think it's 'past'. | ||
| But I don't know for sure. | |||
| cconstantine | the actions are executed in 'past' | ||
| Austin | Okay. | ||
| cconstantine | (I put a print in 'compile' that displays the stage to be executed as it loops through them) | 03:50 | |
| Austin | :) | ||
| So you call 'past', which has secretly become 'cons' | |||
| cconstantine | so, a minor problem is that 'past', which calls the actions won't realy be returning a PAST | ||
| right | |||
| Austin | What's in a name, anyway? | 03:51 | |
| :) | |||
| cconstantine | everything! | ||
| purl | i think everything is sorted throughout | ||
| Austin | Now you have to write the compile-cons stage. | ||
| cconstantine | cool | ||
| that work is unavoidable | |||
| Austin | (And, of course, the parse-into-cons stage.) | 03:52 | |
| cconstantine | that'll just be a matter of changing the actions from creating PAST nodes to cons cells | ||
| Austin | Will it? | ||
| purl | Will it is it being written to use djb's string functions and such? | ||
| cconstantine | and renaming the stage? | ||
| for the most part | |||
| Austin | Could you simply derive some new Past:: types? | ||
| PAST::Cons, PAST::List, etc. | 03:53 | ||
| cconstantine | eep | ||
| Austin | :) | ||
| cconstantine | these will be the types creted and used during runtime also | ||
| that seems pretty heavy | |||
| Austin | Will they? | ||
| cconstantine | s/creted/created | ||
| Austin | Never mind, then. | ||
| cconstantine | yeah | ||
| that old mingling of runtime and compile-time | 03:54 | ||
| functions like 'map' will be available at runtime and compile time | |||
| and map returns a list | 03:55 | ||
| (I believe) | |||
| cconstantine wishes his local sports-team would score more points and allow the other team to score fewer points. | 03:56 | ||
| Austin | Don't we all. | ||
| purl | I don't! | ||
| cconstantine | hehe | ||
| ok, so I think I finally understand what 'make' in actions does | 03:57 | ||
| and I'm mostly ok with it | |||
| I can use it to build my cons tree | 03:58 | ||
| Austin | Yep. | ||
| cconstantine | anyway I can rename the 'past' stage? | ||
| Austin | You can't actually do $/.ast($const), because it is specifically disallowed. | ||
| But that's exactly what make does. | |||
| *$const = $cons | 03:59 | ||
| cconstantine | odd | ||
| $/.ast = $cons | |||
|
04:00
irc joined
|
|||
| Austin | w00t. | 04:00 | |
| irc | w00t. | ||
| cconstantine | Austin++ | 04:01 | |
| thanks for the chatty help | |||
| AustinClipse | Now I can has IRC in eclipse. | ||
| cconstantine | eep | ||
| AustinClipse | No problem. | ||
| cconstantine is not a fan of eclipse | 04:02 | ||
| AustinClipse | :) | ||
| cconstantine | I have no problem with people liking eclipse | ||
| I dun like it | |||
| AustinClipse | There was some question a while back if it could be set up. Apparently, the answer is yes. | ||
| cconstantine | oh I"m sure it can | ||
| AustinClipse | I will say it has taken a long-assed time to get this up and running, though. | ||
| cconstantine | ecipse has the feel of being the java versino of emacs | 04:03 | |
| AustinClipse | Yep. | ||
| Austin | jmacs! | ||
| cconstantine | except, we already have emacs | ||
| Austin | Yeah, but I think ultimately Stallman has poisoned that well. | 04:04 | |
| cconstantine | a little | ||
| Austin | You notice that one of the big things about eclipse is that there is a lot of commercial support for it. | 04:05 | |
| cconstantine | the company I work for made a plugin for it | ||
| Austin | Stallman was always death on anybody making money within 10 feet of an emacs session. | ||
| cconstantine | yeah... | ||
| Austin | So presto. Eclipse comes along, and everybody that has been waiting to do cool IDE stuff finally has an outlet. | 04:06 | |
| cconstantine | and they do a lot of hey-presto stuff... it's really easy to do complicated stuff.... but hard as hell to do easy stuff | 04:07 | |
| Austin | Yeah. | ||
| cconstantine | like, say.. open a file | ||
| Austin | I don't think it's hard to do that, necessarily. It's just that the sheer volume of stuff coming out has swamped any effort to document the thing. | ||
| cconstantine | to open a file it needs to be in the project | 04:08 | |
| well now suddenly I need a project | |||
| Austin | Even now, there are all these step-by-step tutorials on how to do X, and 90% of them are out of date because the product has sped away. | ||
| cconstantine | yup | ||
| Austin | So what's your team? | 04:09 | |
| cconstantine | Colts | ||
| Austin | Ahh. Eagles here. | ||
| Big surprise: Westbrook injured (again). Eagles suck (again). | |||
| cconstantine | Patriots are showing us what's-what | ||
| Austin | That *is* surprising. | ||
| Does %C7 color %O work? | 04:10 | ||
| Nope. | |||
| cconstantine | we have a better QB, but they ahve a better everything-else | ||
| Austin | Yep. | ||
| Although the Pats were supposed to be rebuilding this year. | |||
| cconstantine | yeah.... | ||
| Austin | Apparently you rebuild pretty well when you come from the same place as "This Old House"... | ||
|
04:11
bacek_at_work joined
|
|||
| cconstantine | this'll be our first loss of the season :( | 04:11 | |
| Austin | Do you live in the Indy area? | 04:13 | |
| cconstantine | Purdue | ||
| so, within an hour drive | |||
| Austin | Close enough. | ||
| Do you get affected by the blackouts? | |||
| Or are you far enough away to miss that? | 04:14 | ||
| cconstantine | 'the blackouts'? | ||
| oh, TV blackouts | |||
| sometimes | |||
| purl | sometimes I think you're off your rocker. | ||
| Austin | Most NFL teams black out the games on local TV if they don't sell out. | ||
| cconstantine | our stadium isn't that big | ||
| Austin | :) | ||
| cconstantine | it's awesome... but it sells out pretty regularly | ||
| 'not that big' for a building larger than our down-town area. | 04:15 | ||
| Austin | It's all relative, I guess. | ||
| I mean, look at the college stadiums for places like OSU. | |||
| cconstantine | true | 04:16 | |
| Austin | "Yeah, we've got 112 thousand people here today..." | ||
| chromatic | That's the whole population though. | ||
| Austin | Chromatic: Thing is, in the midwest pretty much the entire population shows up for the games. | ||
| cconstantine | yup | 04:17 | |
| chromatic | 112,000 is most of the population of Eugene, Oregon -- home of U of O. That's the second largest city in Oregon. | ||
| Austin | Last year I was in Des Moines during the Iowa / Iowa State game. The town was empty of everybody except me and a really unhappy cop. | ||
| cconstantine | small-midwest college towns frequently host more fans than their small-midwest-town has residents. | ||
| Austin | Large-midwest-college-towns, too. :) | 04:18 | |
| cconstantine | Eugene is hardly midwest :P | ||
| chromatic | Midwest Oregon. | ||
| Austin | Still FOC to me. | ||
| cconstantine | oh dear | ||
| cconstantine isn't sure when he moved to Oregon | |||
| Austin | Unless that's where the customer is. | 04:19 | |
| Hey, chromatic: (re: TT#1273 Provide a parrot 'backtrace' with assertion failures) | 04:21 | ||
| Does it make sense to turn assert failures into super-fatal exceptions? | |||
| severity=doomed, or whatever it's called. | 04:22 | ||
| chromatic | Sometimes, yes. | 04:23 | |
| cconstantine | Austin: Some good reading on macros if you're interested: gigamonkeys.com/book/macros-standar...ructs.html | ||
| Austin | Unfortunately, the word macro describes a lot of things in computing to which Common Lisp's macros bear only a vague and metaphorical similarity. | 04:24 | |
| :) | |||
| cconstantine | I believe CL was there first | ||
| :P | |||
| the entire book is good: gigamonkeys.com/book | 04:25 | ||
| Austin | chromatic: The implications are that there are times when it doesn't. The obvious case to me is "Parrot is so borked that throwing an exception has no meaning," but did you have something else in mind? | 04:26 | |
| chromatic | I'm thinking of voluminous backtraces and wondering how useful they are. | ||
| More information is better than less, though. | 04:28 | ||
| cconstantine | I'm a fan of 'enough' information. | ||
| Austin | Yeah. I don't think the information has any value at all, unless you're trying to come up with a "steps to reproduce" scenario. Then it's really, really valuable. | ||
| chromatic | We expect those cases to be exceptional anyway. | 04:29 | |
| Austin | :) | ||
| brb. Don't say anything important. | |||
|
04:30
Austin left,
Austin joined
|
|||
| Austin | Ahh. | 04:30 | |
| cconstantine | chromatic: yeah, I agree we should definitely change that | 04:31 | |
| you know, that thing you said when austin was gone | 04:32 | ||
| Austin | :) | ||
| You know, Cconstantine, the more I think about it, the more I think it's important that you do everything in PAST... | |||
| cconstantine | oh no.... | 04:33 | |
| oh wow... Patriots may have blown it | 04:34 | ||
| w0000000t | 04:39 | ||
| Austin | Touchdown! | ||
| cconstantine | you watching it? | ||
| Austin | ESPN. | ||
| (.com) | |||
| cconstantine | ah | ||
| we can still blow it... but man I'd given up on us winning | 04:40 | ||
| Austin | I noticed. | ||
| Do you guys play the dolphins this year? | |||
| cconstantine | no idea | ||
| the wife is much more into football than I am | |||
| Austin | If you're going to go undefeated, it's polite to give the fins a chance to beat you... :) | 04:41 | |
| cconstantine | well yea | ||
|
04:42
Austin joined
|
|||
| Austin | Can do != should do. | 04:42 | |
| Eclipse IRC client is pretty minimal. | |||
| cconstantine | hehe | ||
| I hear IRC in emacs is pretty good | |||
| Austin | :) | 04:43 | |
| cconstantine | ok, it's late, I have to get early and still do some chores | ||
| thanks again for the help austin | |||
| Austin | No problems. | ||
|
04:59
Zak joined
|
|||
| dalek | parrot: 769b547 | dukeleto++ | IDEAS: Add ideas about pgTAP |
06:26 | |
| parrot: b2b08bd | dukeleto++ | (2 files): Add a license and update .gitignore |
|||
|
06:29
mokurai left
|
|||
| dukeleto | should imcc tests be left in perl? | 06:44 | |
| i am conflicted | |||
| chromatic | What's the drawback? | ||
| purl | i guess the drawback is that the syntax is messy. | ||
|
06:46
uniejo joined
|
|||
| dukeleto | chromatic: do we have a conflict of interest? imcc would be testing itself then, right? | 06:46 | |
| chromatic: if we used PIR | |||
| chromatic: i am looking at trac.parrot.org/parrot/ticket/1118 and trying to decide what to do with the patch | 06:47 | ||
| chromatic: it could use more tests, and I want to know if they should be in PIR or Perl | 06:48 | ||
| cotto | dukeleto, +1 to more PIR tests. | 07:02 | |
| I don't there are any blockers that prevent pir tests from executing pir tests similarly to pir_output_is() et al apart from a smop. | 07:03 | ||
| With that, testing __END__ in several different ways from a pure-pir test becomes possible. | 07:05 | ||
| cotto sleeps | 07:10 | ||
| chromatic | If we get more tests, I'm not picky. | 07:13 | |
| However, we might have better diagnostics if we had something less complex than Test::More behind them. | |||
|
07:16
mokurai joined
07:31
Zak joined
07:34
davidfetter joined
07:53
iblechbot joined
08:11
barney joined
08:42
fperrad joined
|
|||
| dalek | TT #1275 created by mikehh++: failure with eq_num op in t/op/comp.t with g++ 4.4.1 --optimized build | 09:03 | |
|
09:19
gaz joined
|
|||
| mikehh | All tests PASS (pre/post-config, smoke (#29934), fulltest) at r42529 - Ubuntu 9.10 i386 (gcc with --optimize) | 10:24 | |
| All tests PASS (pre/post-config, smoke (#29935), fulltest) at r42529 - Ubuntu 9.10 i386 (g++ no --optimize) | |||
| All tests PASS (pre/post-config, smoke (#29936), fulltest) at r42529 - Ubuntu 9.10 i386 (gcc no --optimize) | |||
| t/op/comp.t - Failed test: 17 - smoke (#29946) at r42529 - also fails fulltest in all cores - Ubuntu 9.10 i386 (g++ with --optimize) | |||
| see TT #1275 - all other tests PASS (pre/post-config, smoke, fulltest) | |||
| in all 4 of the above test runs - in testr - t/pmc/eval.t - TODO passed: 12 - see TT #1142 | |||
|
10:42
iblechbot joined
11:04
payload joined
11:38
plobsing joined
|
|||
| mikehh | going to re-boot to amd64 - bbl | 12:04 | |
|
12:06
cconstantine joined
12:22
bacek joined
12:40
mikehh joined
13:04
whiteknight joined
|
|||
| whiteknight | good morning #parrot | 13:06 | |
| plobsing | morning whiteknight | 13:08 | |
| 2 things: | |||
| 1 how can I get the recent fixes in trunk into the libjit_framebuilder branch? | 13:09 | ||
| 2 what is the appropriate place to write down my ideas about lorito (RFC ticket, existing wiki page, new wiki page, etc)? | |||
| whiteknight | 1) you can svn merge trunk into branch, though that can be dangerous | 13:14 | |
| because when you go back to merge branch->trunk, there can be conflicts | |||
| 2) Wiki probably. Let me look for a page | |||
| plobsing | I ask about merging because bacek++ made some changes that fix --optimize in various ways. | 13:15 | |
| and those failures, related to libjit or not, likely block the merge to trunk | 13:16 | ||
| whiteknight | what I might suggest is that you cherrypick only those commits to add to the branch | 13:17 | |
| plobsing | ok, will do | ||
| whiteknight | is the branch ready to merge otherwise? | ||
| dalek | tracwiki: v120 | whiteknight++ | WikiStart | ||
| tracwiki: trac.parrot.org/parrot/wiki/WikiSt...ction=diff | |||
| whiteknight | Or, are there any more changes to make to the branch besides these fixes from trunk? | ||
| plobsing | AFAICT. | 13:18 | |
| whiteknight | (use this page) trac.parrot.org/parrot/wiki/Lorito | ||
| plobsing | it passes all on x86, x64 linux. --optimize fails on mac. | ||
| no testing on windows yet | |||
| oops, that should have been "AFAICT, no." | 13:20 | ||
| I have to run, I'll fill that Lorito page sometime within the next 24 hours. | 13:26 | ||
| thanks for the advice whiteknight++ | |||
| whiteknight | no problem. Talk to you later | ||
|
13:26
payload joined
13:47
payload joined
14:10
particle joined
14:12
mikehh joined
14:14
Coke joined
|
|||
| Coke yawns | 14:15 | ||
|
14:18
payload joined
|
|||
| Coke | trac? | 14:50 | |
| purl | rumour has it trac is a web-based software project management and bug/issue tracking system emphasizing ease of use and low ceremony. It provides an interface to the Subversion revision control systems, integrated Wiki and convenient report facilities. projects.edgewall.com/trac/ or Python, SQLite and ClearSilver or killing killtrac or a bug-tracking tool or at trac.parrot.org/parrot/ or slow or REALLY slow | ||
| Coke | trac =~ s/REALLY/REALLLLLLLLLLLLLLLLLLLLLY/ | ||
| who is doing the release for 1.8? | 14:51 | ||
| moderator | Parrot 1.7.0 "African Grey" is out! | Latest | 14:51 | |
| moderator | Parrot 1.7.0 "African Grey" is out! | Latest modified TT's: icanhaz.com/parrotbugs | 14:52 | |
| mikehh | All tests PASS (pre/post-config, smoke (#29959), fulltest) at r42529 - Ubuntu 9.10 amd64 (g++ with --optimize) | 14:57 | |
| Coke: barney | |||
| Coke | seen barney? | 15:02 | |
| purl | barney was last seen on #parrot 4 days, 3 hours, 11 minutes and 52 seconds ago, saying: bacek: tnx, I've updated NEWS [Nov 12 11:50:12 2009] | ||
| mikehh | All tests PASS (pre/post-config, smoke (#29961), fulltest) at r42529 - Ubuntu 9.10 amd64 (gcc with --optimize) | 15:04 | |
| Coke: that's bs - he was here yesterday | 15:05 | ||
| anyway bbiab | 15:07 | ||
|
15:07
PacoLinux joined
15:08
bubaflub joined
15:12
mikehh_ joined
|
|||
| particle | could have been bernhard or barney_ or something | 15:12 | |
|
15:14
Psyche^ joined
|
|||
| Austin | seen barneyr | 15:16 | |
| purl | I haven't seen 'barneyr', Austin | ||
|
15:29
mikehh__ joined
15:39
payload joined
15:41
mikehh joined
15:43
theory joined
15:45
patspam joined
|
|||
| barney | mikehh: Could you provide a patch for PLATFORMS? | 15:56 | |
| Coke | seen barney? | 16:09 | |
| purl | barney was last seen on #parrot 13 minutes and 10 seconds ago, saying: mikehh: Could you provide a patch for PLATFORMS? | ||
| Coke | there we go. =-) | ||
| barney: what time tomorrow are you aiming for? | 16:10 | ||
|
16:14
uniejo joined
|
|||
| whiteknight | it's hard to really pinpoint a time | 16:16 | |
| since it's hard to estimate how long the release will take | |||
| barney: did you get access to the osu ftp server? | |||
| barney | Yep, that worked | 16:18 | |
|
16:18
iblechbot joined,
mikehh joined,
cognominal joined
|
|||
| barney | Coke: I'll start in the European morning 9:00 UTC | 16:18 | |
| Don't know yet, how busy I'll be with $DAYJOB | 16:19 | ||
| mikehh | barney: looking into it | 16:20 | |
| whiteknight | I'll see if I can get some Win32/Strawberry testing today | 16:22 | |
| barney | mikehh++; tnx | ||
| whiteknight | maybe I'll have a few moments to test MSVC++ too | 16:23 | |
| barney | whiteknight++ | ||
|
16:24
mikehh joined
16:28
preflex joined
16:29
mikehh joined
|
|||
| Coke | barney: ok. I have a small announcement I was thinking of asking you to bundle with the release, but I'll probably just do it separately. thanks. | 16:30 | |
| barney | Coke: I could hold in till 18:00 UTC | 16:33 | |
| barney got to run. Attending a talk about Conflict resolution in IT | |||
| whiteknight | t/op/number.t:131 is still failing on w | 16:34 | |
| Win32-gc-3.4.5 | 16:35 | ||
| Coke | msg barney no worries, not that important. | ||
| purl | Message for barney stored. | ||
| whiteknight | gcc* | ||
| moritz | .oO( git-rerere ftw ) |
||
|
16:36
Casan joined
|
|||
| dalek | p-rx: 2212d9b | pmichaud++ | src/Regex/Cursor-protoregex-peek.pir: Fix bug with calculating subrule prefixes. |
16:43 | |
| p-rx: 2046e24 | pmichaud++ | src/stage0/ (4 files): Update bootstraps with bugfix. |
|||
| Coke | pmichaud: ping | 16:48 | |
| bubaflub | whiteknight: that seems like a random place for it to fail | 16:49 | |
| pmichaud | Coke: pong | ||
| Coke | pmichaud: added you as a collaborator on partcl/partcl | ||
| pmichaud | Coke: gracias | ||
| Coke: I actually expect I'll have some time to work on it tomorrow :) | 16:50 | ||
| Coke | excellent. I will be mostly unavailable during the day for hacking, but available for questions, etc. I can devote some time in the pm. | ||
| pmichaud | at least to see how far I can get on it :) | ||
| Coke | feel free to make a branch on git, obviously. | ||
| dalek | rrot: r42530 | pmichaud++ | trunk/ext/nqp-rx/src/stage0 (4 files): [nqp]: Update nqp with latest subrule prefix bugfix. |
16:51 | |
| Coke | -> for a bit. | 16:52 | |
| whiteknight | what is ar? | 17:00 | |
| purl | ar is ActiveRecord, a ruby ORM. or ar.rubyonrails.org/ | ||
| diakopter | purl, ar is also a gnu archive tool | 17:01 | |
| purl | okay, diakopter. | ||
| whiteknight | okay, so why is Parrot calling ar.exe when I am building with MSVC? | 17:02 | |
| and what do I replace it with? | |||
|
17:03
rob joined
17:04
darbelo joined
17:08
payload joined
|
|||
| whiteknight | building here is turning out to be very hard since I have strawberry installed also and the build process keeps wanting to use those utilities | 17:08 | |
| Util_ | whiteknight: edit the path in your open command prompt session, and remove c:\\strawberry | 17:11 | |
| whiteknight | Util: already did tht | 17:12 | |
| I'm building now with the clean path | |||
|
17:13
mikehh joined
17:15
davidfetter joined
|
|||
| whiteknight | of note, msvc is taking >5minutes to compile core_ops_switch.c each tim | 17:15 | |
| so that's obnoxious | |||
| probably spending a lot of cycles producing a jumtable for a ~1300 item switch statement | 17:16 | ||
| mikehh | I have tested parrot (up to r42529) with Ubuntu 9.10 i386 and Ubuntu 9.04 and 9.10 amd64 with both g++/gcc both with and without --optimize | ||
| the only problems I have come up with are TT #1142 and TT #'1275 | 17:17 | ||
| whiteknight | urg. I got a "command line too long" error from nmake | 17:27 | |
| how shitty is that? | 17:28 | ||
| and it's still trying to call ar.exe, even with strawberry not in the path | |||
| dalek | lscript: 1e32a62 | fperrad++ | (21 files): rewrite tests in PIR (from Perl) |
17:34 | |
| TT #1276 created by whiteknight++: Parrot does't build on Win32 with MSVC | 17:36 | ||
| rrot: r42531 | mikehh++ | trunk/PLATFORMS: update PLATFORMS to include g++ 4.4.1 for linux x86 and amd64 |
17:37 | ||
| lscript: 884ba48 | fperrad++ | t/libstring.t: this test contains a trailing space (test_squeeze) |
17:40 | ||
| rrot: r42532 | whiteknight++ | trunk/PLATFORMS: [PLATFORMS] updated the state of parrot on Win32. The state is not good. |
17:43 | ||
| Util_ | whiteknight: my MSVC+ActivePerl just finished building with no problems. Might you need `make realclean`? | 17:44 | |
| whiteknight | Util: What was the Config command you used? | 17:45 | |
| I tried "perl configure.pl --cc=cl --link=link --ld=cl --make=nmake, and ran into those issues I mentioned | 17:46 | ||
| Util_ | `perl Configure.pl` - nothing else. Building with `nmake` | ||
| whiteknight | doesn't work with strawberry. Configure fails looking for gcc | 17:47 | |
| Util: out of curiosity, can you open your generated make file and tell me what $(AR_CL) is defined to? | |||
|
17:47
desertm4x joined
17:49
cotto_work joined
|
|||
| Util_ | AR_CR is "lib". There is no "AR_CL". In file "config_lib.pasm", which is where Makefile generation draws from, "ar"="lib", "ar_extra"="", "ar_flags"="", "ar_out"="-out:" | 17:50 | |
| whiteknight | okay, awesome. let me try that | 17:52 | |
| NotFound | I'm starting to wonder... Didn't we have any developer that uses msvc? If not, just stop supporting it. | 17:54 | |
| whiteknight | I think particle has been on it | 17:55 | |
| Coke | s/has/had/ | ||
| not for some time. | |||
| whiteknight | I can do irregular testing there at best | 17:56 | |
| and if I have to do all sorts of manual makefile hacking just to make it build, I won't bother | |||
| Util_ | I think MSVC is an important platform for Parrot. No special hacking is needed to using it with ActivePerl, and I have added MSVC+StrawberryPerl to my (long) tasklist, to make sure this goes smoothly in the future. | 17:58 | |
| dalek | lscript: 82abff3 | fperrad++ | t/pragmas.t: use simplified regex with like(). |
||
| lscript: 475d066 | fperrad++ | t/l (2 files): git mv t/lang.t t/liblang.t |
|||
| NotFound | Util_: I think s just a tool, not a platform. | ||
| whiteknight | it is an impornt platform, but if it doesn't build and if we don't have anybody using it, we can't "support" it | ||
| particle | what doesn't build? | ||
| cotto_work | Util_, yes. If I knew how to get msvc+strawberry working, I'd be glad to do regular testing on it. | ||
| particle | msvc+strawberry? why on earth would you try that? would you try to build parrot with icc when the perl you're using is built with gcc? | 17:59 | |
| Util_ | NotFound: In the strictest sense, yes, Win32 is the platform, and MSVC is the tool. | 18:00 | |
| particle: good point. I did not think to ask whiteknight why he was attempting it. | |||
| particle | blech, lots of ugly warnings building parrot | 18:03 | |
| CUR_CTX : local variable is initialized but not referenced | |||
| in *.ops | |||
| Util_ | particle: yes, no one has done cage work on the MSVC warnings in a long time. | 18:04 | |
|
18:05
payload joined
|
|||
| cotto_work | particle, or msvc+whatever. Strawberry would be nice because that's what I have installed on my main windows box, but it'd be fine if I could make the msvc build avoid Strawberry (or set up a vpc or ...) | 18:07 | |
| particle | your strawberry perl env should use gcc to compile parrot | ||
| cotto_work | right | ||
| particle | msvc+activestate perl works fine | 18:08 | |
| cotto_work | I can do a ming-gcc build just fine with strawberry | ||
| How do I keep them from stepping on each other's toes? | |||
| Coke | (works fine) good. | ||
| particle: can you update PLATFORMS? | |||
| Util_ | My MSVC+ActivePerl `nmake test` passed all but t/op/number.t #131 - "not ok 131 - neg 0.0\\n# Have: 0\\n# Want: -0\\n" | ||
| particle | i'm >< to done building parrot now | ||
| then i'll run nmake test | |||
| Util_: what version of msvc? | 18:09 | ||
| there was a -0 bug in msvc 7 | |||
| dalek | lscript: da79879 | fperrad++ | plumage/wmlscript.json: add plumage/wmlscript.json |
||
| nopaste | "coke" at 72.228.52.192 pasted "new warnings." (10 lines) at nopaste.snit.ch/18715 | 18:11 | |
| Util_ | particle: Microsoft (R) 32-bit C/C++ Standard Compiler Version 13.00.9466 for 80x86 | ||
| Is that the same as MSVC 7 ? | |||
| nopaste | "coke" at 72.228.52.192 pasted "also wik:" (5 lines) at nopaste.snit.ch/18716 | ||
| particle | might be... i have to check | ||
| i have 15, which is 2005 iirc | |||
| so i think 14 would be 2003, and 13 would be 7 | 18:12 | ||
| cotto_work: i have separate scripts run for each build environment | 18:16 | ||
| Util_ | particle: so, we need a TODO triggered on OS, *and* on compiler version. Since I have the buggy platform, I will look into that. | ||
| particle | Util_: yes, correct | ||
| Util_ | cotto_work: manually edit the path before running Configure.pl | ||
| particle | i think there used to be an rt ticket on that issue | ||
| i thought there used to be a #ifdef in spfrender, too | 18:18 | ||
| Util_ | particle: I think that test 131 may have been un-TODOed during the "ack! win32 FAILs" flurry in the 1.7 release, since the TODO was succeeding on other Win32 systems. | ||
| particle | ah, definitely possible | 18:19 | |
| t/op/arithmetics TODO passed: 21, 24 | |||
| t/op/io TODO passed: 4 | |||
| dalek | nxed: r174 | julian.notfound++ | trunk/winxed.cpp: naive implementation of the '%' operator |
18:20 | |
| particle gets all tests successful on x86-msvc-asperl | |||
| Util_ | Hmmm. number.t was converted to PIR 3 days ago. How do we TODO in pure PIR tests? | 18:21 | |
| nm; I see how now. | 18:23 | ||
|
18:32
patspam1 joined
|
|||
| dalek | lscript: 2b179b4 | fperrad++ | t/pragmas.t: better regex |
18:33 | |
| Coke | kid51++ | 18:34 | |
| Util_ | particle, in your MSVC-15 run, what value does config_lib.pasm set for P0["has_negative_zero"] ? | ||
| Coke | particle: your %-age of owned RTs is now 16% | ||
| (as is mine.) | |||
| particle | set P0["has_negative_zero"], "1" | 18:35 | |
| Util_ | particle: Aha! Mine is "0". I will TODO based on "has_negative_zero". | ||
| Coke | Util_: aka ./parrot_config has_negative_zero | 18:36 | |
| particle | Util_++ | ||
| Util_ | Coke: true | ||
| particle boots up a parrot win32 x64 vm that hasn't been run since svn.perl.org/parrot existed | |||
| Util | cue haunted house creaky door sound effects | 18:37 | |
|
18:46
chromatic joined
|
|||
| Coke | chromatic: hio | 18:47 | |
| chromatic | good $localtime | ||
| Coke | chromatic: any chance you can close/transfer/stab the few RT tickets assigned to you? | ||
| chromatic | I can do that. | 18:48 | |
| Coke | danke. | ||
| 46761, 39856, 57236 | |||
| cotto, ping | |||
| cotto: you have 56718, 36407 | 18:49 | ||
| cotto_work | Coke, same for me? | ||
| Coke | whiteknight: you have 45959, 46155, 46403, 46675 | ||
| whiteknight | for what? | 18:50 | |
| Coke | RTs. | ||
| whiteknight | ah yes, I took a few of those that I wanted not to forget | ||
| and here I am forgetting them | |||
| Coke | =-) | ||
| chromatic: if you want to poke at allisons, that might also be a good idea. | |||
| "allison's" | |||
| chromatic | I prefer poking at giant eyeballs: www.sluggy.com/comics/archives/daily/20000223 | 18:51 | |
|
18:51
joeri joined
|
|||
| Coke | chromatic: heh. | 18:51 | |
| cotto_work | chromatic, can you give a +1 or -1 to rejecting rt.perl.org/rt3/Ticket/Display.html?id=36407 ? | 18:52 | |
| chromatic | +1 to reject; let's fix it in pirc. | 18:54 | |
| cotto_work | great | ||
| chromatic | Coke, let's migrate RT #39856 to Trac. | 18:58 | |
|
19:03
xenoterracide joined
|
|||
| Coke | cotto_work: I hesitate to reject things that say "fix in pirc instead of imcc" because in the meantime they're still broken. | 19:04 | |
| (can you open a trac to make sure that issue is fixed in pirc? =-) | 19:05 | ||
| chromatic: (migrate) sure. | 19:06 | ||
|
19:06
desertm4x joined
|
|||
| Coke | parrotbug needs to be redone again. | 19:09 | |
| dalek | rrot: r42533 | Util++ | trunk/t/op/number.t: TT#313 - TODOed t/op/number.t test #131 (neg 0.0) on platforms that cannot print -0.0 |
||
| Coke | chromatic: you preferred [TR]T #\\d+ , yes? | 19:11 | |
| (there's several in the codebase without the ' ') | 19:13 | ||
| chromatic | Yes. | 19:15 | |
| Coke | k. fixing. | ||
|
19:16
desertm4x_ joined
|
|||
| cotto_work | Coke, I'm going to ask about deprecating Array at #ps tomorrow. it doesn't have a lot going for it. | 19:18 | |
| whiteknight | cotto_work: awesome. I've wanted to deprecate Array for a long time now | 19:24 | |
| At the very least it's redundant | |||
| Using ResizablePMCArray is preferred in almost all cases I have seen and most documentation/examples | |||
| Coke | only thing I would be concerned about is inheritance. | 19:26 | |
| dalek | rrot: r42534 | coke++ | trunk (46 files): Prefer "RT #NNN" or "TT #NNN" |
||
| Coke | (you could make it abstract) | 19:29 | |
|
19:32
jan joined
19:35
bubaflub left
|
|||
| cotto_work | Coke, nothing inherits from it. | 19:35 | |
| Some functions return an Array, but that's it. | 19:36 | ||
| Coke | cotto_work: k. | 19:37 | |
| whiteknight | the decodetime and decodelocaltime opcodes, for instance, return an Array | 19:42 | |
|
19:44
bubaflub joined
|
|||
| cotto_work | there are a few uses of it, but I doubt that switching them away even constitutes an API break. | 19:45 | |
| Coke | my one concern about that (having already said it wasn't a problem on whiteknight's ticket) is the hll mapping of the Array type. | 19:49 | |
| whiteknight | It's definitely an API break, and we want a proper deprecation notice for it | 19:50 | |
| Coke | if those usages of Array don't respect hll mapping now, they should (of whatever the type you end up picking is.) if they /do/ respect it, that might be a break. | ||
| whiteknight: no, it's not definitely a break. | |||
| whiteknight | any user code that says "new ['Array']" will break. PIR syntax is a publicly-visible API | ||
| Coke | oh, that. | ||
| yes, removing Array is a break. | |||
| changing the return type of decodetime is not. | 19:51 | ||
| whiteknight | I would even disagree with that, but I don't think it's important | ||
|
19:54
mikehh joined
|
|||
| Coke | mikehh++ #testing | 20:34 | |
|
20:35
bacek joined
|
|||
| Coke ponders a podcritic | 20:41 | ||
| er... pircritic. | |||
| Coke supposes it would be slightly less crazy to abuse a pct version of pir to output itself nicely formatted. | 20:42 | ||
| (ISTR I already started this once in perl and gave up) | 20:43 | ||
| if I want to upgrade perl 5.10.0 to 5.10.X, is there a way to do it in place? (I don't want to have to reinstall all the CPAN modules that I've done for 5.10.0) | 20:47 | ||
| (or is "install to the same dir and take my chances" the best bet?) | 20:48 | ||
| dalek | trixy: 8f9b525 | Whiteknight++ | (2 files): fix zeros.pir. zeros.t tests pass |
20:49 | |
| trixy: d6ba95e | Whiteknight++ | src/builtins/eye.pir: fix eye() so all it's tests pass |
|||
| trixy: 2697ae6 | Whiteknight++ | src/builtins/ones.pir: fix ones() and related tests |
|||
| trixy: 8bdbb6a | Whiteknight++ | (3 files): transpose() was just transposing the input argument in place. Fix that, and add a test to prevent it from happening again |
|||
| trixy: 954f0e7 | Whiteknight++ | src/builtins/arrayfun.pir: some fixes to arrayfun. It operates correctly for one matrix but does not operate correctly for multiple matrices |
|||
| trixy: 87fea1c | Whiteknight++ | src/ (2 files): fix arrayfun so that it properly works for N matrices |
|||
| trixy: e7e880d | Whiteknight++ | src/builtins/floor.pir: fix the floor() function |
|||
| trixy: 1d2a274 | Whiteknight++ | src/builtins/ (3 files): fix floor, ceil, round and associated tests |
|||
| trixy: be2be80 | Whiteknight++ | t/800-loadlibrary-examples.t: remove the loadlibrary-examples test, it relied on stuff we no longer have (or want) |
|||
| trixy: e5ddc56 | Whiteknight++ | : merge the pla_integration branch into master |
|||
| whiteknight | ...I did not expect that to happen | 20:51 | |
| apparently I need to find a more graceful way to merge branches without flooding dalek | |||
| darbelo | whiteknight: Maybe if you rebased your local copy. | 20:52 | |
| chromatic | --squash | ||
| darbelo | Oh. Right. What chromatic said. | ||
| whiteknight | I don't know what rebasing is, really. | ||
| chromatic | Coke, you should be able to upgrade in place; they're binary compatible so that you can use the same directories. | ||
| whiteknight | --squash is probably what I want | ||
| Coke | chromatic: so, just use CPAN, neh? | ||
| Coke will give it a shot. | 20:53 | ||
| GeJ | Good morning everyone | 20:55 | |
| dalek | rrot: r42535 | whiteknight++ | trunk/PLATFORMS: [PLATFORMS] Update platforms. Subsequent testing shows that it does build on win32-msvc-9.0. My earlier failures were based on windows dll hell nonsense. |
||
|
20:57
mikehh joined
|
|||
| Coke | chromatic: cpan> install /path/to/5.10.1 sure seems to like chewing up a cpu. | 20:58 | |
| chromatic | I read that as "chewing up a cow" and thought "Omnivore much?" | 20:59 | |
| dalek | rrot-plumage: 97f4606 | japhb++ | : [METADATA] New wmlscript.json, courtesy of fperrad++ |
||
| Coke is quite omni. | 21:00 | ||
| whiteknight | GEJ++ | 21:07 | |
| GeJ++ | |||
| cotto_work | karma GEJ | ||
| purl | gej has karma of 40 | ||
| cotto_work | karma geJ | ||
| purl | gej has karma of 40 | ||
| whiteknight | oh, is purl caps-insenstive? | 21:08 | |
| (how un-unixy) | |||
| cotto_work | purl is insensitive to most things | ||
| dalek | rrot: r42536 | whiteknight++ | trunk/t/op/time.t: [t] fix a typo in time.t. GeJ++ |
||
| whiteknight disappears | 21:09 | ||
| cotto_work | pouf | ||
| Coke | annoying that doing the install doesn't use answers from the perl you're using to run cpan. | 21:14 | |
| darbelo materializes. | 21:26 | ||
|
21:26
mokurai joined
|
|||
| dalek | TT #1277 created by geraud++: [PATCH] cleanup nqp-rx leftovers on `make realclean` | 21:28 | |
| GeJ | while I'm there, anyone willing to review the second patch for TT #1095 ? | 21:30 | |
| darbelo | GeJ: I'll give it a look. | 21:32 | |
| GeJ | darbelo: thanks. | ||
| Coke | "Your patch is very important to us. Please hold." | ||
| dalek | rrot-plumage: b5099e6 | japhb++ | : [TESTS] t/sanity.t: reorganize tests |
||
| darbelo | patch2_t_io.t right? | 21:33 | |
| GeJ | darbelo: yup | ||
| the previous one was reverted by Util because of some failure on Win32. So instead of adding a new line to add FreeBSD as a passing platform. I reverted the logic of the test to list only the failing platforms (ie. Win32 as Util reported it breaking). | 21:35 | ||
| darbelo | Looks sane to me. | ||
| NotFound | +1 | 21:36 | |
| purl | 1 | ||
| dalek | nxed: r175 | julian.notfound++ | trunk/examples/parser.winxed: tiny refactor of example parser classes |
||
| darbelo | Let's commit and see what else breaks ;) | ||
| NotFound | Why it has been closed and reopened? A mistake, or something changed? | ||
| Coke | it was closed, and then someone reverted it accidentally. | 21:37 | |
| er, applied, then closed, then reverted accidentally, then reopened, then re-patched. =-) | |||
| GeJ | yep, as Coke said. | 21:38 | |
| Coke | GeJ++ | ||
| GeJ | I whined on IRC to have it reopened since I couldn't do it myself. Coke did it so I could finally shut up. | 21:39 | |
| Coke | chromatic: aside from the annoyance that I apparently don't have a sites file for saving my settings, that was pretty painless. | ||
|
21:42
bacek joined
|
|||
| darbelo | GeJ: committed, but dalek is decidedly not being speedy about it. | 21:43 | |
| dalek | rrot: r42537 | darbelo++ | trunk/t/op/io.t: Change tests in t/op/io.t to always run, except on platforms which are known to fail. |
21:44 | |
| purl | dalek: that doesn't look right | ||
| GeJ | darbelo: thank you. | ||
| Coke | any chance we can get some more segfaults fixed before the release? =-) | 21:45 | |
| darbelo | Coke: Do you have a list somewhere easy to find? | 21:46 | |
| Coke | darbelo: search for "segfault" ? I can point you at the ones that are blocking me last I checked: | ||
| 966 and 1131 | 21:47 | ||
| purl | 2097 | ||
| Coke | darbelo: hey, code.google.com/p/partcl/issues/det...%20Summary is assigned to you. | ||
| darbelo | Ouch. I had forgotten about that. | 21:48 | |
| dalek | rrot-plumage: 56a1a6a | japhb++ | : [CORE] Another Win32 fix |
21:49 | |
| fperrad | ping japhb | 21:51 | |
| purl | I can't find japhb in the DNS. | ||
| japhb | fperrad, I'm here. | ||
| darbelo | Coke: I'll give installation a shot this week. | ||
| fperrad | japhb, | 21:52 | |
| C:\\fperrad\\Parrot\\parrot-plumage>make test | |||
| \\Parrot-1.7.0-devel\\bin\\parrot-nqp t\\harness t\\\\*.t | |||
| t\\01-sanity.t ...passed 5 tests | |||
| t\\02-glue.t ...passed 17 tests | |||
| t\\03-util.t ...passed 26 tests | |||
| t\\sanity.t ...passed 18 tests | |||
| PASSED 66 tests in 4 files | |||
| japhb | w00t! | ||
| Coke | darbelo: in addition to just copying files around, I'm sure the runtime will have some issues that I'd be happy to consult on. | ||
| japhb | Well, as I said in the email, plumage is still woefully undertested, so there's a lot that can still be wrong. But I call this a milestone. :-) | 21:53 | |
| darbelo | Coke: If I'm remembering correctly, there was some path stuff to fix, and not much else. | ||
| Coke | right, that's probably the worst of it. | ||
| any place where I track the build dir is suspect. | |||
| darbelo | I started to work on this before the move to github, but got sidetracked and then forgot about it. I *think* I had a list of suspect places, but I can't find it now. | 21:54 | |
| japhb | dukeleto, Plumage is up to 100% passing tests on Win32 -- time to write more tests! ;-) | 21:55 | |
| fperrad++ # tireless testing | |||
| fperrad | japhb, plumage doesn't work | 21:57 | |
| C:\\fperrad\\Parrot\\parrot-plumage>plumage install mt19937 | |||
| Fetching mt19937 ... | |||
| git clone git://github.com/fperrad/parrot-MT19937.git mt19937 | |||
| ### | |||
| ### FAILED! | |||
| ### | |||
| Coke | darbelo: for penance, you can also take issue # 85. =-) | ||
| japhb | Um. That's rather ... sudden. | ||
| Coke | could it have something to do with you being a committer, fperrad? | 21:58 | |
| japhb | I figured it would be broken still (like I said, undertested), but that's rather faster fail than I expected. | ||
| Coke | (do you already have that checked out somewhere?) | ||
| oh, fperrad: | |||
| I think we might have to leave a copy of that library in parrot until post-2.0 due to support policy. Would you agree? | 21:59 | ||
| darbelo | Coke: I don't seem to be able to 'take ownership' of that ticket. Can you assign it to me? | ||
| Coke | SRSLY? | ||
| purl | I'm totally serial | ||
| Coke | done. =-) | 22:00 | |
| (hell, take as many as you want. =-) | |||
| fperrad | Coke, ok, revert the commit which removes mt19937 | ||
| japhb | fperrad, Did plumage actually succeed at the fetch? Is there a HOME/.parrot/plumage/build, and does it contain an mt19937 subdir? | ||
| Coke | fperrad: roger. | 22:01 | |
| darbelo | Coke: I don't see any 'steal this ticket' button in the UI. Maybe it's a permisssions thing. | ||
| Coke | darbelo: You might have to edit the ticket/update the owner field manually. | ||
| (that's what I just did) | |||
| darbelo | Coke: I can comment on tickets, but not edit them. I checked that too. | 22:03 | |
| fperrad | japhb, no, I've only an empty subdir .parrot\\plumage\\build | ||
| Coke | checking perms... | ||
| arbelo - you have the EditIssue priv. | 22:05 | ||
| /also darbelo =) | |||
| japhb | fperrad, Well, at least that got created, that's better than nothing | ||
| I wonder if it was a chdir() problem .... | 22:06 | ||
| Coke | darbelo: so, no clue; in the meantime, feel free to comment on the tickets to force me to update them, if that works. | 22:10 | |
| darbelo | Coke: Nevermind. PEBCAK on my side. | 22:11 | |
| I can edit tickets. | |||
| japhb | fperrad, ping | 22:16 | |
| fperrad | japhb pong | ||
| japhb | fperrad, please add 'say($cwd);' after line 641 of plumage.nqp, rebuild, and retry. I want to make sure the various directory movements are working for you. | 22:17 | |
| Debugging by remote print statements, whee! | |||
.oO( I knew I should have thrown more cycles at testing the core plumage libs this weekend ... ) |
22:19 | ||
| dalek | nxed: r176 | julian.notfound++ | trunk/examples/parser.winxed: first step towards expression parsing in example parser |
22:20 | |
| fperrad | japhb, looks good, say : | 22:21 | |
| D:\\Documents and Settings\\fperrad\\.parrot\\plumage\\build | |||
| japhb | Hum. | ||
| fperrad, OK, next thought: try manually cd'ing to that directory, and copy and paste the git clone command it showed, and see what happens. (I'm thinking perhaps a goofy permissions error or something) | 22:23 | ||
|
22:24
dcolish joined
22:25
bacek joined
|
|||
| fperrad | japhb, manually ok | 22:28 | |
| but I work with | |||
| C:\\fperrad\\Parrot\\parrot-plumage>which git | |||
| C:\\Program Files\\Git\\cmd\\git.CMD | |||
| I don't known how 'spawnw' handles .CMD | |||
| japhb | oh, ah. Hmmm, interesting. | ||
| fperrad, looks like it's (at least) me being stupid. | 22:30 | ||
| trying to fix. | |||
| fperrad | japhb, use find_program() from Util.nqp | 22:32 | |
| japhb | fperrad, see this push. ;-) | 22:34 | |
| dalek | TT #1095 closed by darbelo++: [PATCH] un-TODO unconditionally some tests in t/op/io.t | 22:38 | |
| rrot-plumage: 6729156 | japhb++ | : [plumage] Actually use BIN hash, duh. |
|||
| japhb | What is dalek's refresh interval set to? | 22:39 | |
| nopaste | "fperrad" at 77.200.211.132 pasted "japhb, another step" (21 lines) at nopaste.snit.ch/18717 | ||
| darbelo | Varies from feed to feed I think. But the default seems to be 'too damm long' | 22:40 | |
| ;) | |||
| japhb | darbelo, nodnod | ||
| fperrad, because of mixed / and \\ maybe? | |||
| fperrad, what is the output for you of 'parrot_config bindir' ? | 22:42 | ||
| fperrad | japhb, no, in fact, my HOMEDIR is D: & my parrot is in C: | 22:43 | |
| japhb | oh, arg. | 22:44 | |
| and parrot_config bindir does not in fact contain the drive? | |||
| fperrad | japhb, yes, so I must work in the same drive | 22:45 | |
| darbelo wonders why couldn't MS just freaking use unix for their OS. | |||
| japhb | darbelo, They did that, a long time ago. It was called 'Xenix'. | 22:46 | |
| fperrad, That seems like a parrot bug then ... | 22:47 | ||
| darbelo | japhb: I know about that, It just makes me wonder all that harder. | ||
| japhb | darbelo, :-) | 22:48 | |
| darbelo | I'm still hoping the pull an 'apple' and ship Windows X on top of a unix foundation. | ||
| fperrad | japhb, no, I configure Parrot with --prefix=/Parrot-1.7.0-devel | 22:49 | |
| chromatic | Hopefully they'll pull one better than Apple and ship a Unix from at least the late 90s. | ||
| japhb | fperrad, why not include the drive in your prefix? | 22:50 | |
| fperrad | japhb, that allows to install in any drive | 22:51 | |
| japhb | fperrad, but ... how am I supposed to find it when I want to run it? | 22:53 | |
| fperrad | japhb, the setup.exe which install Parrot, modify the PATH | 22:55 | |
| japhb | fperrad, another push incoming ... this at least makes all binaries go via %BIN | 22:56 | |
| OK, so path is modified ... but what if you install multiple versions of Parrot on the system? | 22:57 | ||
| I should be able to use 'bindir' to find the *particular* parrot that invoked plumage. | |||
| Come to think of it, that information ought to be frozen into the plumage fakecutable somehow, neh? | 22:58 | ||
|
23:00
mikehh joined
|
|||
| he_ | Hmm, I admit I don't know pir, but how is "mod $N2, 10, $N0" supposed to leave something in $N1? | 23:00 | |
| dalek | rrot-plumage: ec77f9f | japhb++ | : [plumage] Use %BIN more aggressively |
||
| he_ | This is test_mod_n_nc_n_by_zero from t/op/number.t which failed on one of my platforms after a recent svn update. | 23:01 | |
|
23:01
ascent joined
|
|||
| he_ | The test doesn't otherwise set $N1, but tests for its contents. | 23:02 | |
| chromatic | That sounds like a test error, _he. | ||
| I mean he_. | |||
| japhb | he_ ... looks like the test right above the one you quoted is wrong also. | 23:03 | |
| chromatic | They should both check $N2, not $N1. | 23:04 | |
| japhb | fperrad, still thinking or did I lose you? | ||
| fperrad | japhb, works with the same Parrot is mandatory when you load library or dynext | ||
| but when you spawnw 'parrot', you could use another one, so you could spawnw parrot in the PATH | 23:05 | ||
| japhb | Why would you want to do that for an application like plumage | ||
| ? | |||
| Especially since the next problem you're going to stumble over is trying to install into the bindir ... | 23:06 | ||
| dcolish | does anyone know of a current effort to port haskell to parrot? | 23:07 | |
| cotto_work | dcolish, there aren't any I've heard of | ||
| japhb | We can't allow something like 'setup.pir' to be accidently run by a parrot other than the one that you want to be installing into, it will get the wrong config info. | ||
| nopaste | "chromatic" at 72.87.39.97 pasted "Fix mod tests (japhb, he_)" (20 lines) at nopaste.snit.ch/18718 | 23:08 | |
| japhb | chromatic, looks good to me. | ||
| fperrad | japhb, you are right, I forget the goal of Plumage | 23:09 | |
| japhb | fperrad, OK, now that that's settled. How do we fix it? I can understand your goal of being able to install to any drive, so now the question is how to achieve that and still allow plumage to get the fully qualified path to the correct parrot ... | 23:10 | |
| chromatic | I had to switch the expected value of the second test. | 23:11 | |
| japhb | chromatic, yeah, noticed that. | ||
|
23:11
payload joined
|
|||
| dcolish | cotto_work: cool, i thought so. i want to make sure i'm not starting from scratch for nothing | 23:13 | |
| he_ | chromatic: with that it passes here as well -- thanks! | 23:16 | |
|
23:17
cconstantine joined
|
|||
| cotto_work | dcolish, are you at all familiar with Rakudo? Its source is a great place to steal stuff from. | 23:21 | |
| dcolish | only by name | 23:22 | |
| i've yet to really look at it | |||
| fperrad | japhb, I try to build a installable_plumage, it'll installed near its good parrot | 23:29 | |
|
23:29
Austin joined
|
|||
| japhb | fperrad, How does that help? | 23:30 | |
|
23:31
Whiteknight joined
|
|||
| dalek | rrot: r42538 | chromatic++ | trunk/t/op/number.t: [t] Fixed improper register usage in two tests in t/op/number.t (for the mod |
23:33 | |
|
23:37
Zak joined
23:40
kid51 joined
23:42
mikehh joined
|
|||
| nopaste | "fperrad" at 77.200.211.132 pasted "japhb, Plumage works on Windows (when I fix my environment)" (46 lines) at nopaste.snit.ch/18719 | 23:47 | |
|
23:48
Whiteknight joined
|
|||
| Whiteknight | hello #parrot | 23:50 | |
| davidfetter | oh hai | 23:51 | |
| japhb | fperrad, sweet! | 23:52 | |
| fperrad | good night | ||
| japhb | fperrad, mind if I tweet that nopaste? | 23:53 | |
|
23:57
hercynium joined,
tetragon joined
|
|||