|
Parrot 3.7.0 "Wanda" | parrot.org | Log: irclog.perlgeek.de/parrot/today | #parrotsketch meeting Tuesday 19:30 UTC Set by moderator on 17 August 2011. |
|||
|
00:18
theory joined
|
|||
| dalek | sella: 3e10241 | Whiteknight++ | src/ (3 files): Rethink some parts of InterfaceContract. Add methods to do normal runtime checks, in addition to assertions |
01:20 | |
| sella: 9187d4c | Whiteknight++ | s (5 files): Add in the basics of a new Reflect library, for doing some basic reflection tasks |
|||
| sella: a56c631 | Whiteknight++ | src/unstable/reflect/Class.winxed: set_attr -> set_attr_value for consistency |
01:33 | ||
|
01:36
kid51 joined
01:40
woosley joined
|
|||
| benabik | Okay, I'm lost. I can't figure out why special_variable:sym['$<'] is getting generated as special_variable:sym<Capture[0x…]> | 01:45 | |
| dalek | rrot: 1d8f2c4 | jkeenan++ | / (5 files): Merge branch 'tar_shasum' |
||
| rrot: 9a0ee63 | jkeenan++ | tools/release/sha256sum.pl: [codingstd] Add copyright notice and perl coda. |
|||
|
02:02
logie joined
|
|||
| benabik | msg pmichaud NQP is generating incorrect code for `sub a:b['c']`, which impacts Rakudo's grammar. I tried to track it down but couldn't figure it out. Submitted a github issue with details: github.com/perl6/nqp/issues/22 | 02:19 | |
| aloha | OK. I'll deliver the message. | ||
|
03:05
logie joined
|
|||
| cotto | ~ | 03:09 | |
|
03:48
bubaflub joined
04:25
bubaflub joined
04:34
rfw joined
04:42
logie joined
05:19
pbaker2 joined
|
|||
| benabik | msg whiteknight I blogged about the pile of thoughts I've had about PCT. www.parrot.org/content/end-gsoc-not-time-stop... | 05:29 | |
| aloha | OK. I'll deliver the message. | ||
| dalek | website: benabik++ | End of GSoC, but not Time to Stop... | 05:31 | |
| website: www.parrot.org/content/end-gsoc-not-time-stop... | |||
| tadzik | benabik: have you used tree-optimization? | 05:34 | |
| benabik | tadzik: I'll admit I haven't… But it, or a defendant of it should be used. | ||
| tadzik | I'm curious if it's useful in action. Have anyone used it? | 05:37 | |
| benabik | It looked like bacek was using it in PIRate. | ||
| NotFound | "PACT should support system-level languages" -> Being able to write a winxed backend using PAST will be nice. | 05:42 | |
| benabik | NotFound: Yes, yes, that was exactly what inspired that line. | 05:43 | |
|
06:22
fperrad joined
06:41
rfw joined
06:43
Kulag joined
06:48
contingencyplan joined
07:02
Kulag joined
07:16
Drossel joined
|
|||
| dalek | nxed: 8632e2c | NotFound++ | / (2 files): syntax for implicit namespace declaration in class and namespace: and modify scope search for class names in operator new |
07:33 | |
| NotFound | msg whiteknight Instead of applying the push request for dotted namespaces I've copied, modified, and extended it directly on my master, see 8632e2c41f | 07:36 | |
| aloha | OK. I'll deliver the message. | ||
| dalek | nxed: 662d3d9 | NotFound++ | pir/winxed_compiler.pir: update installable compiler |
07:43 | |
|
07:48
mj41 joined
08:20
JimmyZ joined
|
|||
| dalek | kudo/nom: 3b66c0f | moritz++ | / (5 files): lots of Cool methods, run cool-num.t |
08:22 | |
|
08:24
SHODAN joined
08:26
Kulag joined
08:33
Drossel joined
08:37
Kulag joined,
lucian joined
08:43
Drossel joined
|
|||
| dalek | nxed: 183e21d | NotFound++ | winxedst1.winxed: simplify :multi generation |
09:11 | |
|
09:37
particle1 joined
10:15
lucian_ joined
10:39
jsut joined
10:57
preflex joined
11:20
kristian joined
11:38
rurban joined
11:48
Kulag joined
12:01
rurban joined
12:04
whiteknight joined
|
|||
| whiteknight | mail.google.com | 12:04 | |
| oh great, firefox++ | |||
| good morning, #parrot | 12:05 | ||
| plobsing | hmmm... I have snarky replies for shell commands, but this is new | ||
| dalek | nxed: f8ce9e7 | NotFound++ | / (2 files): initial implementation of namespace operator |
12:12 | |
| atrodo | I don't think i've ever entered mail.google.com, always gmail.com. So much faster | 12:16 | |
| whiteknight | it's not just firefox, it's a symptom of a bigger problem. When you open multiple things at once, and they all take a while because windows-- blows, then things start popping up and stealing global focus while you're typing | 12:17 | |
| 100% awesome | |||
| but if you have a program like firefox that's a huge memory hog, and you start typing, your input commands can get delayed enough to actually show up in a different window entirely | 12:18 | ||
| 125% awesome | |||
| moritz | I really loved my old fvwm configuration where I configured many programs to start up on a particular virtual desktop | ||
| sadly that stopped working for a reason unknown to me :( | |||
|
12:20
lucian joined
|
|||
| whiteknight | plobsing: hows the inside-out-ctx thing going? | 12:20 | |
| plobsing | I've never really had a problem with firefox's memory usage. maybe it's because I view non-whitelisted sites with ads and scripts disabled. | 12:28 | |
| atrodo | whiteknight> Down with focus stealing programs! | ||
| plobsing | whiteknight: I spent most of the weekend trying to get *_constants out of the context structure, only to have that turn out to be a net loss, since the context is still super-hot. | 12:29 | |
| every op updates the context's pc | |||
| and I see no better place to keep the pc than in the context | |||
| whiteknight: right now, I'm hacking up a solution to the interp['packfile'] update problem | 12:31 | ||
| whiteknight | plobsing: can we store that pc in the register frame too? | ||
| or, store an opcode_t** reference to it in the interp, for easy lookup/set? | 12:32 | ||
| plobsing | whiteknight: I'm not a big fan of that idea. it makes set ops potential jumps | ||
| and makes program analysis much harder | |||
| also, it is a raw pointer | |||
| whiteknight | oaky | ||
| in M0 world, I think that's similar to what they are planning. a PC register somewhere that you can set to | 12:33 | ||
| plobsing | yeah, not a fan of that design decision for reasons stated above | ||
| whiteknight | if we mark certain ops with "this is a jump" metadata, program analysis works just fine again | 12:34 | |
| plobsing | whiteknight: but we already have that with separate jump ops | ||
| they get tagged | |||
| whiteknight | right. that's what I'm saying | ||
| restrict most accesses to that register so it's only usable through tagged ops | 12:35 | ||
| plobsing | statically or dynamically restrict? | ||
| I'd hate to see set_xyz have runtime checks | |||
| whiteknight | When I say "register", I mean "data storage in the register frame memory block". Just because it's stored there doesn't mean it needs to be user-addressable like other registers | 12:36 | |
| the interp should know some arithmetic magic to access it, but we don't need to give the user that ability | |||
| plobsing | ah, okay | ||
| whiteknight | for example, have the PC be register $P(-1), and tell the user that using negative indices is a syntax error | 12:37 | |
| addressing internally is easy, user can't touch it | |||
| and it's all allocated in a close, friendly memory block | |||
| plobsing | hmmm... the way this is moving, why don't we just make contexts use manual_attrs and allocate these things inline | ||
| whiteknight | I've wanted to do that for a very long time | ||
| plobsing | s/these things/register bank/ | ||
| in stead of flipping the relationship, we merge them. | 12:38 | ||
| benabik | Morning, #parrot! | ||
| whiteknight | contexts are too hot though, like you mention. even small changes in contexts require big changes in Parrot | ||
| good morning benabik | |||
| benabik: I read your post. I like your ideas. I would like to join your club | |||
| benabik | whiteknight: Woo! I have a club! | 12:39 | |
| plobsing | whiteknight: (re: $P(-1)) that assumes we trust the source of the PBC. also, how do you deal with opcode_t being unsigned? | 12:40 | |
| and what is the point of holding it in a 'register' if it cannot be accessed? | |||
| whiteknight | it's like the idea of merging the two allocations together. Just because they're stored in subsequent memory locations doesn't mean that they are all accessible through the same interfaces | 12:41 | |
| benabik | I keep coming to the idea that we're going to need a bytecode verifier at some point. | ||
| whiteknight | that's just an implementation detail. Maybe I shouldn't call it a "register" | ||
| plobsing | yes, that is what confused me | 12:42 | |
| medium-term I can see making the context's pc much less hot by moving the update into ops and then only updating in ops that change the context or throw | 12:43 | ||
| for example add_i_i_ic wouldn't update the pc, because nothing in that op could care about accessing the pc | 12:44 | ||
| whiteknight | yes, that's a great idea | 12:46 | |
| anything we can do to decrease accesses into the Context would be a major improvement | |||
| any op that calls a vtable can potentially throw, so that might not end up being a very large savings | 12:47 | ||
| benabik | Off to the dojo. Will be back probably noonish to start writing up my PACT design. | 12:51 | |
| whiteknight | msg NotFound Awesome work on the dotted-namespace fix, the :multi cleanups, and the new namespace operator. NotFound++ | ||
| aloha | OK. I'll deliver the message. | ||
|
12:58
bubaflub joined
|
|||
| dalek | nxed: 11ffab8 | NotFound++ | winxedst1.winxed: replace getparrotnamespacekey function with method emitnamespace in Emit |
13:12 | |
| whiteknight | NotFound: ping | 13:21 | |
| NotFound | whiteknight: pong | ||
| whiteknight | NotFound: Awesome work this morning. I'm reading these commits and they are making me happy. I have two questions for you | 13:23 | |
| maybe three questions | |||
| NotFound | Special offer of the day, ask two questions, one more question free! | 13:24 | |
| whiteknight | First, I think I'm going to close pull request 3, with the prefix:* operator. using var() is working very well for me | ||
| unless there is anything there you want to keep around for reference | 13:25 | ||
| NotFound | Ok | ||
| whiteknight | okay, done. Second, the lambda syntax patch, pull request 5. Is that anything you are interested in merging, or should I abandon it? | 13:26 | |
| NotFound | Probably if we later decir to add such operator, the compiler will be changed and this version will be useless. | 13:27 | |
| whiteknight | if it's not rejected, I can update the patch, clean it up, make any changes you want, etc | 13:28 | |
| NotFound | I don't think that the kind of syntax that patch allows integrates well with winxed style, and given that it doesn't provide any new semantic... | 13:31 | |
| whiteknight | okay | 13:32 | |
| NotFound | The balance is towards easy reading. | ||
| whiteknight | it's disappointing, but I understand | 13:34 | |
|
13:35
fperrad joined
|
|||
| whiteknight | NotFound: Oh, I had a third question too. | 13:38 | |
| I would like to try to add more :multi features, like specific classes. Right now it only does NISP types | 13:39 | ||
| But, we're going to need a syntax for that, and I need your input because there are too many options | |||
| NotFound | whiteknight: Can't we start by using the multi modifier? | 13:40 | |
| whiteknight | function Foo[multi(["Foo";"Bar"])] (var bar) { } ? | 13:41 | |
| NotFound | If there is a multi, use it, if not, synthesize the default, like current. | ||
| whiteknight | if we use that modifier, it will always be a MultiSub | ||
| which is fine, but it's ugly | |||
| or, we could simplify: | |||
| function Foo[multi(Foo.Bar)](var bar) { } | 13:42 | ||
| we can parse out the dotted identifiers in the multi modifier | |||
| NotFound | multi("Simple") and multi(["More", "complex"]) will be the easier way, no need to special syntax. | 13:43 | |
| whiteknight | okay. we can do that | ||
| I think we need to update parseModifier to handle the [] syntax | |||
| but that's not too hard, I don't think | |||
| Okay, I will work on that to start with. We can find something more pretty later, if we need to | 13:44 | ||
| thanks. NotFound++ | |||
| NotFound | Setting the is multi flag if there is a multi modifier, even if there is just one with that name, isn't it? | 13:45 | |
| whiteknight | yeah, we have to do that | ||
| I'll have to see what it looks like | |||
| NotFound | After that, with real use cases, we can think aboout cleaner syntax. | 13:46 | |
| whiteknight | Rosella is going to have many use cases. And benabik is talking about rewriting PCT in winxed, which is going to bring more | 13:47 | |
| NotFound | That will be amazing. | ||
| whiteknight | yes. I don't know if you saw his blog. PCT rewritten in NQP is 2x slower than the version written in PIR | 13:48 | |
| A winxed version should be faster than that | |||
| much faster | |||
| NotFound | We should be capable to make it as fast as pir, at least. | 13:49 | |
| whiteknight | I think so too | ||
| benabik is calling it PACT. We can probably update plobsing's ohm-eta to generate PACT, and we can write a new version of the Winxed Emit class to output it | 13:50 | ||
| or, we would probably have to rewrite most of winxed to use it, but it will be a fun project | |||
|
13:51
mtk joined
|
|||
| NotFound | Even without that, I'm already thinking about adding an stage 2 compiler, more flexible and using more advanced winxed features, | 13:55 | |
| whiteknight | just use the better syntax of stage 2, or do new stuff entirely? | 13:59 | |
| NotFound | parseModifier uses SimpleArgList for the modifier arguments, so it should be able to handle the [ ] syntax. The restrictions can be checked after parsing. | 14:00 | |
| whiteknight | ok | ||
| NotFound | Start with current stage 1, clean it using better features, and progresively add new stuff. | 14:01 | |
| And maybe downsizing stage 1, droping features not needed to compile stage 2 | 14:03 | ||
| whiteknight | that sounds like a good idea | 14:04 | |
| lucian | NotFound: do you still want stage1 around? | ||
| NotFound | lucian: I'd like to keep a full bootstrap chain, yes. | ||
| lucian | right | 14:05 | |
| JimmyZ | NQP hav two stages ... | ||
| NotFound | Yeah, I want to have three becuase ot that ;) | 14:06 | |
| JimmyZ couldn't image more than one stages | 14:07 | ||
| NotFound | JimmyZ: I've read that some old compiler (maybe PL/I ?) had seven stages of bootstrap. | ||
| JimmyZ | how many stages does C have? | 14:08 | |
|
14:08
contingencyplan joined
|
|||
| NotFound | I think that no one bootsrap C from scracth since the 70 | 14:08 | |
| You just compile your compiler with other C compiler, and the compile it with itself. | 14:09 | ||
| JimmyZ | that's why I couldn't image more than one stage | 14:11 | |
| NotFound | JimmyZ: if you write a new language you need at least two, unless you compile it manually the first time. | 14:12 | |
|
14:13
cotto_work joined
|
|||
| NotFound | If you want to have a self compiler, that's it. If not, you can have just one. | 14:13 | |
| lucian likes the way most lisps boostrap :) | |||
| whiteknight | 1) have a keyboard with only '(' and | 14:14 | |
| ')' keys. 2) Drop a rock on it. 3) repeat | |||
| atrodo | That's the end of the list | ||
| lucian | whiteknight: :P | ||
| cotto_work | ~~ | 14:15 | |
| NotFound | Interesting idea: write a lisp environment for tactile devices with just two gestures ;) | ||
| whiteknight | open-paren, closed-paren | 14:16 | |
| lucian | to me, there's not much difference between lots of {} and () in a C-like language and lots of () and [] in clojure | ||
| they're both worse than python to me, syntactically | 14:17 | ||
| NotFound | And lots of { } and ( ) and [ ] in winxed. | ||
| lucian | sure, winxed manages to be very slightly worse some of the time | 14:18 | |
| but i find it a reasonable compromise | |||
| NotFound | lucian: I hate fixed-format syntax since the Cobol epoch. | ||
| lucian | NotFound: indentation-sensitive? | 14:19 | |
| NotFound | lucian: yeah | ||
| lucian | i hate it in makefiles, but i like it in python and haskell | 14:20 | |
| JimmyZ hates python too | |||
| lucian | just like i hate the parens in common lisp and scheme, but not so much in clojure | ||
| lucian also simply hates common lisp, but that's another thing | |||
| atrodo | I've never been a fan when a language dictates, what I consider, style choices | 14:21 | |
| lucian | atrodo: python only dictates that you must indent consistently inside a block | ||
| not sure about haskell | |||
| dalek | kudo/nom: 19cfd13 | moritz++ | / (3 files): add hidden_from_backtrace trait |
||
| kudo/nom: b1882a1 | moritz++ | src/core/BackTrace.pm: hide hidden routines from backtraces |
|||
| NotFound | That's too much dictate for a lot of us. | 14:22 | |
| atrodo | lucian> Exactly | ||
| NotFound | I don't hate python, but I can't be comfortable with it because of that. | ||
| lucian | do you indent inconsistently within a block? i've never seen that anywhere | ||
| atrodo | lucian> Quite frequently when I'm working. Espcially when I indent (or don't indent) for reasons besides a block | 14:23 | |
| lucian | hmm | ||
| NotFound | Nightmare idea: write a indentation-sensitive compiler using the starir | 14:27 | |
| stair style frequent in old pascal times. | |||
| JimmyZ | writing a comiler with brainfuck language | 14:28 | |
| NotFound | For extra ugly points, do it mixing spaces and tabs. | ||
| atrodo | lucian> You have a good link on python's whitespace/indentation rules? I'm having a hard time remembering/finding | 14:29 | |
| lucian | atrodo: www.secnetix.de/olli/Python/block_i...ation.hawk i guess | ||
| atrodo: there's basically two rules: 1) indentation must be consistent within a block and 2) newlines delimit statements, except when you have more than one statement on a line with ; or a statement on more than one line where \\ may be necessary | 14:31 | ||
| NotFound | BTW if you want to have some fun, give to someone with an old C compiler in a unix system a source with some well placed \\ CR LF line edings. | 14:36 | |
| moritz | where "consistent" depends on your interpretation of blanks, tab characters, vertical tabs and a whole bunch of codepoints that match \\s in regular expressions | ||
| lucian | moritz: afaik, as long as the entire suite is indented the same way it's fine | 14:39 | |
| moritz | lucian: ah, but what if one line is indented with one tab, and the other with 8 blanks? | 14:40 | |
| lucian | moritz: obviously they're different | 14:41 | |
| moritz | error out? 'expected: " "; got: " "'? | ||
| lucian: but does "different" mean "inconsisten"? | |||
| *inconsistent? | |||
| lucian | no, it'll tell you're mixing tabs and spaces | ||
| yes, different means inconsistent | |||
| moritz: try it | 14:42 | ||
| moritz | I guess that's as much sanity as one can expect from an insane system :-) | ||
|
14:42
alester joined
|
|||
| lucian | would you really mix tabs and spaces in indentation? | 14:42 | |
| moritz | no, but I've seen code bases that did | 14:43 | |
| lucian | right, those don't run in python | ||
| i think that's a good thing :) | |||
| (you get an IndentationError btw) | |||
| moritz | well, if you think that forcing a style on people is good, then obviously it's also good that it errors out | 14:44 | |
| lucian | when it comes to mixing tabs and spaces, or misindeting, yes i think forcing style is good | 14:45 | |
| for anything else, strong warnings > forcing | |||
| but if you really want, you can totally do insane things like preshing.com/20110822/penrose-tilin...ted-python | 14:46 | ||
| JimmyZ | well, I doesn' t hate python's indentation, I hate it putting grammers in the compiler to the tutorial book | 14:48 | |
|
14:53
kid51 joined
14:58
logie joined
15:12
Kulag joined
15:20
mtk joined
15:23
jsut_ joined
|
|||
| whiteknight | NotFound: ping, again | 15:26 | |
| NotFound | whiteknight: pong | ||
| whiteknight | NotFound: I'd like a way to conditionally compile code in a debug mode. Something like #ifdef DEBUG, but in winxed | 15:27 | |
| like, if we could set a command-like flag like -DDEBUG, but more winxed-ish | |||
| NotFound | whiteknight: you can use if on const int values. | ||
| whiteknight | NotFound: okay, then can we have a global symbolic constant DEBUG? And set it on the commandline? | 15:28 | |
| because if I have 100 if(1) ... statements, it's hard to change modes | |||
| NotFound | whiteknight: const int DEBUG = 0; at the start of a file or in an included file. | 15:29 | |
| whiteknight | okay. But you're against a built-in feature like a __DEBUG__ constant? | ||
| NotFound | I don't like the idea od defining symbols from command line options, but __DEBUG__ may be a reasonable exception. | ||
| So no, I don't oppose. | 15:32 | ||
| whiteknight | okay, I will play with a patch for you to review | 15:34 | |
| that will make some of the GSoC students very happy | |||
| lucian | NotFound: what's your opinion on a static (compile-time) if? | 15:35 | |
| static ifs operate on the own symbol namespace, and condition compilation | 15:36 | ||
| s/the own/the/ | |||
| NotFound | lucian: you mean like in C# ? | 15:37 | |
| lucian | don't know C#'s feature. i've seen it in D | ||
| whiteknight | does C# have a static if? | ||
| NotFound | #if | 15:38 | |
| whiteknight | oh, right. But that's stupid | ||
| lucian | yeah, in essense like preprocessor macros | ||
| but with the same syntax as the rest of the language instead | |||
| NotFound | Something like C, but symbols in a separate namespace. | ||
| lucian | www.digitalmars.com/d/archives/digi..._6614.html | ||
| stackoverflow.com/questions/1717976...-static-if | |||
| D also has version www.digitalmars.com/d/2.0/version.html | 15:39 | ||
| NotFound | lucian: you can already do that with winxed, you just need to be explicit about the namespace. | ||
| lucian | but the static if is the most general of those | ||
| NotFound | The only advantage I see with the 'static' is being clear about the intention. | 15:42 | |
|
16:01
RobertLJ joined
|
|||
| dukeleto | ~~ | 16:05 | |
| cotto_work | hio dukeleto | 16:06 | |
| dukeleto | cotto_work: wazzup | 16:13 | |
|
16:14
theory joined
|
|||
| dukeleto | video of me talking abot PL/Parrot + PL/Perl6: vimeo.com/27975448 | 16:45 | |
| tell me if I said anything stupid. For some reason, I find it really hard to watch videos of myself talking. | |||
| cotto_work | dukeleto: I had to put a ton of effort into listening to myself speak. It takes a lot of getting used to to watch oneself. | 16:46 | |
|
16:50
mj41 joined
16:56
RobertLJ joined
|
|||
| whiteknight | i know a couple people who love to hear themselves talk. | 17:06 | |
| benabik | o/ | 17:08 | |
|
17:10
zby_home joined
|
|||
| dukeleto | benabik: i enjoyed reading your recent blog post. Lots of good stuff | 17:15 | |
| benabik | dukeleto: Thanks. I hope to follow it up with an oerly complucated design doc today. :-D | 17:16 | |
| *overly | |||
| *complicatrd | |||
| Gah. Stupid iPhone | 17:17 | ||
| atrodo | whiteknight> I know lots of people that love to hear themselves talk but hate to listen to themselves | 17:23 | |
| whiteknight | atrodo: the really annoying ones are the people that nobody else wants to listen to either | ||
| bubaflub | afternoon dukeleto | 17:25 | |
|
17:31
Eclesia joined
|
|||
| Eclesia | hi | 17:31 | |
| dukeleto | bubaflub: howdy | 17:35 | |
| bubaflub | Eclesia: i added a basic benchmark to Parrot-GMP - a good deal slower to use GMP over native Ints and Floats | ||
|
17:37
pyrimidine joined
17:51
dmalcolm joined
|
|||
| Eclesia | bubaflub: slower like 10 times ? | 17:53 | |
| bubaflub | Eclesia: maybe more. | ||
| benabik | bubaflub: Is that using raw NCI or GMP objects with viable stuff? | 17:58 | |
|
17:58
lucian joined
|
|||
| bubaflub | benabik: github.com/bubaflub/parrot-gmp/blo...ark.winxed | 17:58 | |
| one with the VTABLE overrides, one without | |||
| benabik | bubaflub: Both significantly slower? | 17:59 | |
| bubaflub | yup | ||
| here's the output: | |||
| Number of iterations: 40000 | |||
| Time in GMP (vtable): 0.866077899932861 | |||
| Time in GMP (direct method call): 0.556113004684448 | |||
| Time in PIR: 0.00778007507324219 | |||
| atrodo | bubaflub> ouch | 18:00 | |
| benabik | Ouch. | ||
| bubaflub | yup. not GMP's fault too much. not sure what my code is adding to it | ||
| Eclesia | aie... | ||
| benabik | How does that compare to C? | ||
| bubaflub | so i'm thinking it's C <-> PIR | 18:01 | |
| benabik: not sure. | |||
| benabik | bubaflub: Might want to try a raw C vs GMP benchmark… Will probably be faster than Parrot, but would be interesting to see what the GMP overhead is. | 18:02 | |
| bubaflub | benabik: ok. i'll add that to the repo as well | 18:03 | |
| Eclesia | bubaflub: use the awesome parrot profiler ! ho ... we dont have one :x | ||
| atrodo | ouch | ||
| whiteknight | we're working on it! | ||
| bubaflub | heh. i've seen people use kcachegrind but i'm not sure how / how to even read the results | ||
| whiteknight | very carefully | 18:04 | |
| Eclesia was just joking | |||
| bubaflub: question : are you continuing to work on parrot after gsoc ? | 18:07 | ||
| bubaflub | Eclesia: yup. | 18:08 | |
| whiteknight | bubaflub++ | ||
| tadzik | :) | 18:09 | |
| Eclesia | bubaflub: ok then tell me where I can find your bindings, I'll try to plug then in my model ;) | 18:11 | |
| bubaflub | Eclesia: github.com/bubaflub/parrot-gmp | ||
| Eclesia: and you have any trouble, msg me or shoot me an email or file a github issue. | 18:17 | ||
| Eclesia | bubaflub: You need to have Parrot configured with GMP to use Parrot-GMP <-- means I must already have gmp packages on my system ? | ||
| bubaflub | Eclesia: yup | ||
| Eclesia | hm. | 18:18 | |
|
18:20
RobertLJ left
|
|||
| Eclesia hope linux and windows parrot installer will come with all thoses dependencies. | 18:22 | ||
| cotto_work | linux installer? | ||
| Eclesia | deb package dependencies | ||
| whats the difference between parrot 3.7 and 5 ? | 18:24 | ||
| benabik | Two months of development? ;-) | ||
| NEWS file can tell you: github.com/parrot/parrot/blob/master/NEWS | 18:25 | ||
| Eclesia | I just made a git pull and rebuild parrot, but everything is still placed in ; /usr/local/src/parrot/3.7.0-devel | ||
| cotto_work | Eclesia: did you run make reconfig? | ||
| Eclesia | make realclean; git pull; perl Configure.pl; make; make test; sudo make install | 18:26 | |
| cotto_work | You need to have a prefix if you're installing parrot. | ||
| perl Configure.pl --prefix=/path/to/install | 18:27 | ||
| --optimize is also a good idea | |||
|
18:30
davidfetter joined
|
|||
| Eclesia | bubaflub: what's the difference between the gmp in parrot and yours ? | 18:33 | |
| bubaflub | Eclesia: what GMP in Parrot? there are a few bindings for BigNum stuff done by someone else, my project will have all functions eventually. | ||
| whiteknight | tcurtis: ping | 18:34 | |
| Eclesia | 133 test failures | ||
| nopaste | "Eclesia" at 192.168.1.3 pasted "gmp test failures" (235 lines) at nopaste.snit.ch/73791 | 18:35 | |
| Eclesia | bubaflub: here you go ;) | ||
| bubaflub | Eclesia: very nice. can you run just one of those failed files to show me what's wrong? | 18:36 | |
| Eclesia | bubaflub: how ? | ||
| bubaflub | winxed t/integer/remove.t | ||
| nopaste | "Eclesia" at 192.168.1.3 pasted "gmp test failures" (14 lines) at nopaste.snit.ch/73792 | 18:37 | |
| Eclesia | bubaflub: here | ||
| bubaflub | Eclesia: you'll need to install Parrot-GMP to fix those problems | 18:38 | |
| Eclesia | I've rebuild parrot, and seen the gmp module enable a few minutes ago | 18:39 | |
| bubaflub: or are you talking about somethin else ? | |||
| bubaflub | Eclesia: now, you'll have to do `winxed setup.winxed install` for Parrot-GMP | ||
| Eclesia | ho install it before runing tests | ||
| k | |||
| bubaflub | Eclesia: yeah, unfortunately that's the only way for NCI thunks to work | 18:40 | |
| Eclesia | bubaflub: gailed | ||
| failed* | |||
| bubaflub | backtrace? | ||
| nopaste | "Eclesia" at 192.168.1.3 pasted "install gmp" (7 lines) at nopaste.snit.ch/73808 | ||
| plobsing | bubaflub: why do you need to install before running tests? | 18:41 | |
| Eclesia | it says unknowned file or folder GMP/thunks.so | ||
| bubaflub | plobsing: i need to put the NCI thunks somewhere Parrot can find em before all the tests run | 18:42 | |
| Eclesia: yeah, looking into it now | |||
| Eclesia: what do you have under the GMP/ folder? | |||
| plobsing | bubaflub: you could run the harness with parrot -X 'local folder' | ||
| Eclesia | bubaflub: common, integer, random, raw | 18:43 | |
| plobsing | -X (or --dynext) adds to the dynext path | ||
| whiteknight | msg tcurtis if you have some time soon, I would really love a crash course in lalrskate. I've been digging in it and have a good feel for things, but I want to make sure I know all the capabilities and limitations of it. | 18:44 | |
| aloha | OK. I'll deliver the message. | ||
| bubaflub | plobsing: my test harness is written in NQP - does parrot-nqp take those arguments? | 18:45 | |
| Eclesia: hmmm, the thunks aren't building. one sec. | |||
| plobsing | bubaflub: probably not | 18:46 | |
| Eclesia | question : how can I store a pmc in a namespace ? | 18:51 | |
| whiteknight | set_global [namespace], "name", value | ||
| Eclesia | thanks | ||
| bubaflub | Eclesia: do you have src/GMP/thunks.c ? | 19:02 | |
| Eclesia | bubaflub: yes | ||
| bubaflub | Eclesia: ok, so the thunks are being generated but not compiled | ||
| Eclesia: one sec. | |||
| Coke | rant: why do we even have the Changelog file? | 19:03 | |
| whiteknight | Coke: I've suggested we delete it on several occasions | 19:05 | |
| Coke opens a ticket. | 19:06 | ||
| ISTR allison had a reason why, but I just did a ticket search for changelog and didn't find anything. | 19:07 | ||
| whiteknight | there is always some hidden, unknown reason why we do all sorts of things that nobody today wants to keep doing | ||
| Coke | eh. we'll find out in a week when I rip it out. ;) | 19:08 | |
| whiteknight | Coke++ | 19:10 | |
| Eclesia | (and patch it back in one week+1day) | 19:12 | |
| bubaflub: big bug ? | 19:16 | ||
| bubaflub | Eclesia: don't think so. one sec. | ||
| Eclesia | no need to hurry :) | 19:17 | |
| bubaflub | Eclesia: what kind of system are you on? | 19:18 | |
| Eclesia | bubaflub: linux 64bit Lubuntu 11.04 | ||
| bubaflub | Eclesia: ok. compiling with gcc? | 19:19 | |
| Eclesia don't know | 19:20 | ||
| Eclesia is not a c/c++ developer | |||
| cotto_work | ./parrot_config cc | 19:21 | |
| dalek | TT #2184 created by coke++: Remove Changelog | ||
| TT #2184: trac.parrot.org/parrot/ticket/2184 | |||
| bubaflub | Eclesia: ok. can you run `winxed setup.winxed clean` | ||
| Eclesia: and then give me the full output of `winxed setup.winxed build` | |||
| Eclesia | eclesia@Blocos:/media/SATA2_7200/dev/parrot-gmp$ parrot_config cc | ||
| cc | |||
| cotto_work | Eclesia: probably gcc then | ||
| nopaste | "Eclesia" at 192.168.1.3 pasted "gmp build" (22 lines) at nopaste.snit.ch/73809 | 19:22 | |
| Eclesia | bubaflub: ere you are | ||
| here* | |||
| bubaflub | Eclesia: ok, it's a problem with my linking. lemme look at it for a bit and figure it out | 19:23 | |
| nopaste | "Eclesia" at 192.168.1.3 pasted "gmp build" (15 lines) at nopaste.snit.ch/73810 | 19:25 | |
| Eclesia | bubaflub: sorry looks like my copy failed ^^ | ||
| bubaflub | Eclesia: ok, i'll keep at it | ||
| Eclesia | bubaflub: question : what kind of rational are available with the bindings ? | 19:34 | |
| bubaflub | Eclesia: at this point, i only have integer bindings. rational will be coming soon. | 19:35 | |
| Eclesia: gmplib.org/manual/Rational-Number-F...-Functions is what is available | |||
| benabik | bubaflub: Rational isn't an object, or rational functions aren't available at all yet? | ||
| bubaflub | benabik: both - i haven't started on the rational stuff yet. | ||
| GSoC was only for the initial stuff and the Integer functions | 19:36 | ||
| dalek | p/commandline-optional-arguments: 3e5dcec | tadzik++ | src/HLL/CommandLine.pm: Allow optional named parameters in CommandLine.pm Specified with foo=s? get the passed value if any, empty string otherwise. So --foo will set %options<foo> to '', --foo=bar will result in %options<foo> := 'bar'. In the first case, %options<foo> will still be false, but the existance of the argument can be checked with pir::exists() |
19:47 | |
| p/commandline-optional-arguments: 8d12a5c | tadzik++ | src/HLL/CommandLine.pm: Update HLL::CommandLine documentation mentioning optional values |
19:50 | ||
| Eclesia | ++ all | 20:05 | |
| benabik | A round of karma for everyone? | 20:06 | |
| whiteknight | I'm paying | 20:07 | |
| dalek | p: 3e5dcec | tadzik++ | src/HLL/CommandLine.pm: Allow optional named parameters in CommandLine.pm Specified with foo=s? get the passed value if any, empty string otherwise. So --foo will set %options<foo> to '', --foo=bar will result in %options<foo> := 'bar'. In the first case, %options<foo> will still be false, but the existance of the argument can be checked with pir::exists() |
20:08 | |
| p: 8d12a5c | tadzik++ | src/HLL/CommandLine.pm: Update HLL::CommandLine documentation mentioning optional values |
|||
| p: 4d93b19 | tadzik++ | tools/build/Makefile.in: Merge branch 'master' of github.com:perl6/nqp |
|||
| benabik | dalek seems slower here than in #perl6… Different throttling between perl.org and freenet? | 20:09 | |
| Coke | I have a new local branch that is tracking local master. how do I turn that local branch into a remote branch of the same name? | 20:10 | |
| benabik | git push <remote> <branch>, I think. | ||
|
20:12
rurban joined
20:52
bubaflub joined
|
|||
| dalek | Heuristic branch merge: pushed 19 commits to lalrskate by ekiru | 20:57 | |
| tcurtis | ~~ | 20:59 | |
| allison | Coke/whiteknight: the changelog used to be where we track changes (like most projects). Then, at some point, someone decided we should add a NEWS file and list all the changes there. I have no idea why, I've never seen any other project with a NEWS file. Then at some later point, people thought it was duplicated effort to put updates in both files, so they just started adding a link to NEWS from Changelog for every release. | 21:10 | |
| Coke/whiteknight: At that point, Changelog became useless. | 21:11 | ||
| Coke/whiteknight: The two files should be merged. | |||
| Coke/whiteknight: Personally, I'd merge the two and call the new file Changelog. | 21:12 | ||
| cotto_work | There's quite a bit in Changelog. I'd be that merging it and NEWS would violate laziness for most people. | ||
| +1 if anyone feels like it though | |||
| benabik | I think it was moved to NEWS because most people expect Changelog to be something akin to old style GNU Changelogs… Detailing every function and line change while NEWS is more user-oriented. | 21:13 | |
|
21:17
perlite_ joined
21:32
bubaflub joined
21:53
jsut joined
22:15
jsut_ joined
22:22
jsut joined
22:36
kid51 joined
|
|||
| Coke | if someone copies allison's comments to the ticket, I'll do the merge. | 22:41 | |
| ISTR that part of that split was that Changelog was for details, news was for release-worthy stuff, but that distinction is no longer present, either. | 22:44 | ||
| /bye | |||
| allison | Coke: yeah, I think it's partly a generational thing. | 22:45 | |
| Coke: the early developers of Parrot made a lot of entries in Changelog, I've never made one | |||
| Coke: it just dropped out of common usage | |||
| Coke: (or, was replaced by browsing source control history, which got a lot easier in recent years) | 22:46 | ||
|
22:48
cotto joined
|
|||
| cotto | ~~ | 23:03 | |
|
23:07
Coke joined
23:15
Coke joined
23:46
whiteknight joined
|
|||
| whiteknight | good evening, #parrot | 23:47 | |
| cotto | good evening, whiteknight | ||
| kid51 | ~~ | ||
| whiteknight | hello cotto, kid51. How are you two doing tonight? | 23:48 | |
| cotto | jetlagged | 23:50 | |
| normal cotto would still be at work | 23:51 | ||
| though he wouldn't have shown up at 7 either | |||
| whiteknight | normal cotto sounds like he makes good decisions | 23:54 | |
| Felipe | hi guys | 23:55 | |
| cotto | less bad perhaps | ||
| ;) | |||
| whiteknight | hello Felipe! | ||
| tcurtis: ping | 23:57 | ||
| tcurtis | whiteknight: pong | 23:58 | |
| whiteknight | tcurtis: excellent last-minute push on lalrskate | 23:59 | |
| tcurtis: I want to set up some time with you to go over lalrskate and get a kind of crash course in it. I would like to continue the work after GSoC ends | |||