|
Parrot 3.2.0 released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Parrot is accepted for GSoC 2011! Student application deadline is Apr 8 Set by moderator on 27 March 2011. |
|||
| whiteknight | memcheck provides no information | 00:04 | |
| running that same command with --gc gms doesn't throw an exception | 00:07 | ||
| plobsing_ | you could reduce that sanity check from equality to sufficient size and see what else fails | 00:08 | |
| soh_cah_toa | i don't mean to interrupt but i'm having some trouble with headerizer | ||
| i've added some functions to src/pmc.c but when i run tools/dev/headerizer.pl src/pmc.c the function prototypes still aren't there | |||
| whiteknight | soh_cah_toa: you working in a fork? | 00:09 | |
| soh_cah_toa | yeah. well, i think. i made a pull request | ||
| whiteknight | soh_cah_toa: commit and push what you have, so I can take a look at it | 00:10 | |
| soh_cah_toa | whiteknight: alright, give me a second | ||
| whiteknight | soh_cah_toa: don't run headerizer directly. Type "make headerizer" | ||
| soh_cah_toa | oh, let me try that first | 00:11 | |
| plobsing_ | headerizer can be picky about style/formating. best to cargo-cult that from existing code | ||
| bacek_at_work | soh_cah_toa, tools/dev/headerizer.pl src/pmc.o (notice file extension) | ||
|
00:11
dafrito joined
|
|||
| soh_cah_toa | bacek_at_work: so i need to compile pmc.c first into an object file? | 00:12 | |
| bacek_at_work | soh_cah_toa, nope. | ||
| just run headerizer | |||
| soh_cah_toa | bacek_at_work: didn't work. neither did "make headerizer" | 00:14 | |
| bacek_at_work | soh_cah_toa, nopaste error? | ||
| soh_cah_toa | bacek_at_work: that's the thing. i get a "Headerization complete". no errors. just no prototypes | 00:15 | |
| oh, wait | |||
| i'm not sure which command did it but i see it now in include/parrot/pmc.h | 00:16 | ||
| stupid...i was looking in src/pmc.c for prototypes. the function aren't even static | 00:17 | ||
| bacek_at_work | soh_cah_toa, happens all the time to me :) | 00:18 | |
| soh_cah_toa | yay, it's building | 00:19 | |
| i spoke to soon. time for nopaste | 00:21 | ||
| *too | |||
| whiteknight | soh_cah_toa: commit and push to github so we can see | 00:26 | |
| the general rule is: more committing, less not-committing | 00:27 | ||
| soh_cah_toa | ha, alright h/o | 00:28 | |
| alright, i commited | 00:33 | ||
| bubaflub | soh_cah_toa++ | ||
| soh_cah_toa | but i can't push for some reason. says permission denied | ||
| bubaflub | soh_cah_toa: are you on fork on github? | 00:34 | |
| soh_cah_toa | so many problems...sheesh... | ||
| yeah | |||
| bubaflub | soh_cah_toa: could you go into the .git folder and open up the file called config? | 00:35 | |
| do you have a section that's labelled [remote "origin"] | |||
| soh_cah_toa | yeah | 00:36 | |
| url = git://github.com/soh-cah-toa/parrot | |||
| bubaflub | soh_cah_toa: hmmm, i was thinking you should see something like | 00:37 | |
| plobsing_ | change that url to git@github.com:soh-cah-toa/parrot | 00:38 | |
| bubaflub | url = git@github.com:soh-cah-toa/parrot.git | ||
| soh_cah_toa: what plobsing_ said | |||
| soh_cah_toa | well when i type it explicitly i get the error | ||
| bubaflub | soh_cah_toa: what's the error? | 00:39 | |
| soh_cah_toa: did you add your SSH keys to github? | 00:40 | ||
| soh_cah_toa | git push git@github.com:soh-cah-toa/parrot.git master | ||
| permission denied (publickey) | |||
| fatal: The remote end hung up unexpectedly | |||
| where do i do that? | 00:41 | ||
| bubaflub | soh_cah_toa: if you are logged in, in the top right hand corner there is "Account Settings" | 00:42 | |
| then on that page there is a nav on the left that says "SSH Public Keys" | |||
| soh_cah_toa | right | ||
| bubaflub | soh_cah_toa: from there you can add any number of public keys - do you have one generated for your system already? | ||
| should be ~/.ssh/id_dsa.pub or ~/.ssh/id_rsa.pub | 00:43 | ||
| soh_cah_toa | no but i know how. i gotta make a new one since i'm doing it from a vm | ||
| bubaflub | soh_cah_toa: ok, great. | ||
| soh_cah_toa: and like i said, you can have multiple SSH keys associated with a single github account | |||
| soh_cah_toa | good | ||
| i didn't reallize you could only push w/ ssh | |||
| but now that i think about it, i do kinda remember reading that in pro git | 00:44 | ||
| bubaflub | soh_cah_toa: also, inside the vm don't forget to do the whole git config --global name and git config --global email business | ||
| soh_cah_toa | man, i am messing up left and right | 00:45 | |
| bubaflub | soh_cah_toa: haha, no worries. | ||
| benabik | Wow. When building Rakudo's core, parrot spends a lot of time doing GC. Like 88% of its time, if I'm reading Instruments right. | ||
| Still got a segfault building the compiler. :-( | 00:48 | ||
| soh_cah_toa | bubaflub: finally! i got it | 00:49 | |
| bubaflub | soh_cah_toa: great! | ||
| soh_cah_toa: did you push your commit to your branch? | |||
| soh_cah_toa | bubaflub: yeah | ||
| whiteknight | benabik: instruments? | ||
| bubaflub | soh_cah_toa: fantastic, i'll take a look | ||
| benabik | whiteknight: OS X tracing tool. | ||
| whiteknight | oh, okay | ||
|
00:50
janus left,
janus joined
|
|||
| bubaflub | soh_cah_toa: that commit looks really good - a bit of refactoring and fixing the docs | 00:51 | |
| soh_cah_toa: did you put this commit on a separate branch, by any chance? | |||
| soh_cah_toa | just the one i cloned w/ pull request | 00:52 | |
| nopaste | "soh_cah_toa" at 192.168.1.3 pasted "Here's what I get when running" (122 lines) at nopaste.snit.ch/40010 | ||
| soh_cah_toa | like it says...since i'm not too familiar w/ the op syntax, i don't know what to replace things like "expr" and "ADDRESS" with in src/pmc.c | 00:56 | |
|
01:13
woosley joined
|
|||
| plobsing_ | you need to use Parrot_ex_throw_from_c_args() in stead of Parrot_ex_throw_from_op_args() | 01:13 | |
|
01:13
whiteknight left
|
|||
| plobsing_ | because you are no longer in an op | 01:13 | |
| there are plenty of examples of the usage of this function throughout the codebase | 01:14 | ||
| soh_cah_toa | alright | 01:15 | |
| what do i use for the return address argument though? | 01:18 | ||
| plobsing_ | Parrot_ex_throw_from_c_args() does not return | 01:19 | |
| it jumps out | |||
| soh_cah_toa | nopaste, one of the arguments specifies a return address | ||
| aggh! everytime! | |||
|
01:20
plobsing_ is now known as no
|
|||
| no | now you may converse without fear | 01:20 | |
| soh_cah_toa | haha | ||
| no | that argument is usually left NULL | 01:21 | |
|
01:21
edenc left
|
|||
| soh_cah_toa | okay. does that mean it doesn't return in that case? | 01:21 | |
| no | yes | 01:22 | |
| soh_cah_toa | so then i can take out the goto after the function call, right? | ||
| no | yep | 01:23 | |
| soh_cah_toa | okay, i think i got this now | ||
| thanks no :) | |||
| or should i say no thanks? | |||
|
01:25
no is now known as plobsing
|
|||
| plobsing | no more no | 01:25 | |
| soh_cah_toa | :) | ||
| anyway, i gotta split but i'll be back in about 45 minutes. i'll let you know if there's anymore problems (please no) | 01:27 | ||
| Coke | plobsing: are you sure that building parrot without any flags ends up unoptimized? | 01:41 | |
| plobsing | Coke: it used to. and without llvm, it does. | 01:42 | |
|
02:13
loufoque left
|
|||
| dalek | rrot: b513a32 | jkeenan++ | config/auto/llvm.pm: Correct typo in inline comment. |
02:40 | |
|
02:54
kid51 left
02:55
hudnix left
03:09
bubaflub left
|
|||
| cotto | ~ | 03:21 | |
| soh_cah_toa says goodnight to parrot | 03:57 | ||
|
03:57
soh_cah_toa left
|
|||
| dalek | rrot: 43c75f0 | plobsing++ | src/packfile/api.c: mark const table internal hashes |
04:14 | |
| plobsing | msg whiteknight I may have fixed the rakudo build in 43c75f0. | 04:17 | |
| aloha | OK. I'll deliver the message. | ||
| benabik | plobsing: I'm starting a build now, although my system is a bit heavily loaded right now. | 04:18 | |
| cotto | plobsing++ | 04:24 | |
| msg soh_cah_toa Thanks for the patch! In the future, you should make separate branches for each pull request. | 04:28 | ||
| aloha | OK. I'll deliver the message. | ||
| benabik | Does parrot mostly use github pull requests? I'm used to patch series on the git list. | 04:29 | |
| cotto | We usually use either github pull requests, patches attached to trac or nopaste (for minor changes) | 04:30 | |
| benabik | Ah, yes. An actual bug tracking system. Forgot about those. ;-) | ||
| plobsing: Still got a segfault building rakudo. :-( | 04:53 | ||
| plobsing: Although I think I may have forgotten to pull before building parrot... *sigh* Results in another half hour. | 04:54 | ||
| plobsing | yeah. it is breaking for me too. again. it was working for a second. what happened? | 04:55 | |
|
04:55
ShaneC left
|
|||
| benabik | GC bugs are pesky pesky things. | 04:55 | |
| (By which I mean bugs that are triggered by GC, not necessarily a bug in the GC itself.) | 04:56 | ||
|
05:05
ShaneC joined
|
|||
| benabik | plobsing: Rebuilding parrot after actually pulling your change got Compiler.pir to finish successfully. | 05:05 | |
| Sampling parrot while it runs rakudo to build "core.pir" makes me think the gms GC needs some tuning. It spends about 60% of it's time in gc_gms_mark_and_sweep (and things it calls). | 05:13 | ||
| plobsing | benabik: if you are using gms, the bug won't manifest | 05:15 | |
| benabik | plobsing: It was crashing for me earlier with gms. | ||
| plobsing | hmmm... I've only consistently gotten failures on ms2 | 05:16 | |
| benabik | It was consistently failing for me, but I've also had my computer doing a lot of things at once. Perhaps it just needs more memory pressure to trigger under gms? | 05:17 | |
| benabik hasn't actually looked under the hood at GC, so is just wildly speculating. | 05:18 | ||
| plobsing | gc queries the system for 'available memory', a value upon which it bases its pool size. different OSes respond differently. on some, memory load will affect things. | 05:20 | |
| benabik | Although it appears that I have a good chunk of free memory. Guess my load is CPU heavy but memory light. | 05:21 | |
| Once rakudo actually finishes building, I'll rebuild parrot without my normal options and see what happens. | 05:23 | ||
| Ah. Well, there's one thing. Parrot thinks I have half as much memory as I actually do. | 05:30 | ||
| dalek | rrot: 400f3aa | plobsing++ | src/pmc/imageiofreeze.pmc: patch small reference-holding gap if a mark happens *during* ImageIOFreeze.init(), we need the nascent object to mark its partially-allocated children. |
05:38 | |
|
05:39
theory left
|
|||
| nopaste | "cotto" at 192.168.1.3 pasted "good name for this function?" (23 lines) at nopaste.snit.ch/40014 | 05:43 | |
| cotto | What'd be a good name for that function? | ||
| plobsing | what is the purpose of it? | 05:44 | |
| as in, where is it being used? | |||
| benabik | cotto: I'm a bit sleepy. It appears to be creating a new PMC based on the type of another PMC? | ||
| cotto | plobsing, it's part of soh_cah_toa's patch to factor out common code in the vivify and fetch ops | 05:45 | |
| yes | |||
| benabik | clone_blank? | ||
| cotto | clone implies that the PMC's data gets copied | 05:49 | |
| benabik | That's why I added blank. | 05:50 | |
| plobsing | *_new_from_type(), *_new_from_proto(), etc... ? | ||
| benabik | new_with_same_type seems clunkier.' | ||
| cotto | I like from_type | ||
| benabik | That reads to me like the argument should be a type... *shrug* | 05:51 | |
| plobsing | I don't really understand why we don't require the argument to be a type | 05:52 | |
| cotto | beats me | ||
| plobsing | then it would work nicely with our pre-existing allocation functions | ||
| benabik | Because it looks like it's abstracting out the "figure out the type" part. | ||
| plobsing | I'm not convinced the thing this function does is a thing we should be doing. | ||
| benabik | There's two different types of type information it looks at. | ||
| plobsing | yes, but in terms of the 'fetch' and 'vivify' opcodes, the fallback argument shouldn't be a prototype argument, it should simply be a type-object. | 05:53 | |
| in Perl 6, these are the same thing (more or less), so I can see the point there, but it doesn't really make sense in Parrot-world. | 05:54 | ||
| benabik | plobsing: That might be what "should be", but that's not how it works now. | 05:57 | |
| plobsing | refactoring wrong code is wrong | ||
| make it right, then make it clean | 05:58 | ||
| cotto | plobsing, it does strike me as questionable from a parrot perspective | 05:59 | |
| NotFound | Note that making the exception thrown by those opcodes non resumable is a significant semantic change, you should ask nqp and rakudo people before doing it. | ||
| cotto | NotFound, are you referring to the fetch/vivify changes? | 06:00 | |
| NotFound | cotto: yeah | ||
| benabik | There appears to be two different type of types in that function, which have two different types. (Ow.) A class is a PMC, but a type for pmc_new is an int. Is there an easy way other than a proto-object to pass in something that might be either? | 06:01 | |
| plobsing | benabik: PMC types can have ProxyPMC classes wrapping them | 06:02 | |
| cotto | NotFound, good catch | ||
| plobsing | er PMCProxy | ||
| dalek | TT #2090 created by benabik++: Parrot underestimates memory on OS X | 06:05 | |
| TT #2090: trac.parrot.org/parrot/ticket/2090 | |||
| cotto | I should probably just put it into a static function in the .ops file and not pretend that it's general. | 06:06 | |
| NotFound | cotto: I'm not sure if we do support, or if we should, static function in .ops files. | ||
| plobsing | that's an acceptable intermediary solution. don't spread the bain dramage | ||
| benabik | plobsing: I'm not quite sure why there's two types of type to begin with. | 06:07 | |
| plobsing | benabik: it is a long, boring, and insanity-inducing story | ||
| benabik | NotFound: We probably do want to support it. Writing code without helper functions is how we get copypasta like the fetch and vivify ops. And copy/pasted code is something worth avoiding. | 06:08 | |
| NotFound | benabik: suppossedly we are going towards specializing .ops files, not towards making them generic C files. | ||
| cotto | NotFound, we support adding arbitrary C code to the output of a ,ops file | 06:09 | |
| plobsing | NotFound: I think that direction is severely limiting, and ultimately a bad decision | ||
| benabik | NotFound: That specialization should still support helper functions. I would find the lack of them disturbing. | ||
| NotFound | Maybe, but we should discuss directions, not ignoring them. | ||
| benabik: yes, but there is no rule that forces helper functions to be static. | 06:10 | ||
| benabik | NotFound: Leaking functions into wider scope that don't need to be seems poor. I'd almost argue we shouldn't support non-op non-static functions in an ops file. | 06:11 | |
| NotFound | Also, several runcores => several copies of that static functions going into libparrot. | 06:12 | |
| plobsing | benabik: forcing style on others is rude | ||
| NotFound | benabik: That means not calling any function from ops? | ||
| plobsing | NotFound: we only have one copy of the ops currently. the idea that we have multiple "runcores" is misleading ATM. | 06:13 | |
| benabik | NotFound: It would mean that the only functions visible from outside an ops file are the ops. I'm not sure what use could be made of such non-static functions anyway. | 06:14 | |
| But I'm also pretty close to passing out. | |||
| plobsing should sleep as well. good night. | |||
| cotto | 'night | 06:15 | |
| benabik | Oog. Closer to passing out than I thought. Can't focus on the screen anymore. 'night #parrot | ||
| NotFound | benabik: staticness is just a tool. Making functions non static does not mean making them ready for arbirtrary usages from wherever. | 06:16 | |
| benabik | NotFound: But OTOH, static-ness keeps them from being used arbitrarily from outside the ops, which would mean they'd be able to be mangled by opsc. | 06:19 | |
| NotFound: I don't feel strongly about it, it just seems odd to me that any non-ops function wouldn't be static. I'm just not sure what use making the function available elsewhere would be. Perhaps someone else could make good use of it. | 06:21 | ||
| NotFound | benabik: also means that any mistake in trivial changes in that functions may mean being unable to build. | ||
| benabik | NotFound: I'm not sure how a function being static or not affects how fragile it is. | 06:22 | |
| NotFound | benabik: it doesn't, fragility is in the way .ops file are processed during the build. | ||
| benabik | NotFound: That is true, but any problems with opsc would already cause issues in the ops. | 06:24 | |
| NotFound | benabik: yes, and we already have enough, better to not adding more. | ||
| benabik | NotFound: Not allowing functions just causes a different kind of fragileness. Duplicated code has a huge tendency to bit-rot. Our own ops have this new_from_type code repeated at least six times. Enforcing that ops code has to work that way is bad. | 06:28 | |
| NotFound | benabik: we don't disallow functions, we have lots of functions in libparrot being used from opcodes. | 06:29 | |
| Or are you suggesting that throw_from_op`functions should also be static in .ops files? | |||
| benabik | NotFound: So duplicated code in ops have to be pushed into libparrot, even if it's not appropriate for outside use? | 06:30 | |
| NotFound | benabik: better thatn forcing a full parrot rebuild for trivial changes in helper functions, absolutely yes. | 06:31 | |
| benabik | No, I'm not suggesting ops can't use non-static functions. I'm saying that non-op functions in op files should probably not be used outside the function, and functions not used outside a file should be static. | ||
| *outside the file | |||
| Changes to an ops file causes a rebuild of everything in parrot? I wouldn't expect that... Although I guess the ops are fairly central. | 06:34 | ||
| NotFound | Also, using static functions means you are forcing the op and the function being in the same .ops file, giving less flexibility. In this case it means, for example, that should move out of experimental all the ops or none. | ||
| benabik: C generated from ops needs to be in the repo for bootstrap, then you need to rebuild. | 06:35 | ||
| The main point is just: .ops files are not generic .c files. | 06:37 | ||
| benabik | As is, any trivial change to that code requires that rebuild anyway. And I don't see how I'm forcing the function to stay next to the ops.... I'm saying that if the function is next to the ops, it shouldn't be used outside the ops. | ||
| NotFound | benabik: I don't know what "next to" means. | 06:40 | |
| benabik | "in the same file" | ||
| NotFound | So you want to make them static in other file? | ||
| benabik | No... Things used in other files have to be non-static. | 06:42 | |
| I'm suffering communications failure and I'm not sure where or how, but I bet it's because it's nearly 3AM here. | |||
|
06:42
Eduardow left
|
|||
| NotFound | My view is: making them static has just one advantage, and several disadvantages, so I don't recommend that way. | 06:43 | |
| benabik | 1) Repeated code should be moved into a function. 2) Special-purpose helper functions should be in the file they're used in. 3) Functions not used outside the file they're declared in should be static. 4) If a function is used for more than the ops in the file, it shouldn't be in the ops file. | 06:46 | |
| NotFound | benabik: a good reasoning for .c files, but we are talking about .ops files, wich are special beasts. | 06:47 | |
| benabik | NotFound: Which part doesn't apply to .ops? | 06:49 | |
|
06:49
Eduardow joined
06:50
fperrad joined
|
|||
| cotto | We shouldn't avoid factoring out common code because it makes llvm ops generation harder. We can solve that problem when we don't have other things blocking it. | 06:50 | |
| For the time being, it makes for better code to use a static function. | 06:51 | ||
| NotFound | Factoring *out*. | 06:53 | |
| Out of the .ops file, for example. | 06:54 | ||
| benabik: part 2) and 3) | |||
| cotto | That code shouldn't be outside the ops file. I'm a little curious why it's *in* the ops file. | ||
| NotFound | Anyway, moving that functions if it becomes needed will be a mater of minutes, a lot shorter that this discusion, so I give up. | 06:57 | |
| cotto | NotFound, quite true. | ||
| benabik tends to be a little stubborn and slow to understand when tired and apologizes for that. | |||
| cotto | I got lazy and told soh_cah_toa which changes to make, and I'm certain that doing took longer than it would just to clean up and push what I had. | 06:58 | |
| benabik, go to sleep | |||
| NotFound | benabik: NM. | ||
| cotto | We need that brain of yours well-rested. | ||
| benabik | cotto: I'm sure I'll find time to sleep after finals and before GSoC. ;-) | 06:59 | |
| cotto | benabik, that's good | ||
| benabik | But anyway... Third time's the charm. G'night! | 07:00 | |
|
07:08
benabik_ joined,
benabik left,
benabik_ is now known as benabik
07:20
UltraDM joined
07:27
dod joined
|
|||
| moritz | did anybody open a ticket for the rakudo segfault, or should I? | 07:41 | |
|
07:42
Eduardow left
|
|||
| bacek_at_work | moritz, it's probably fixed by plobsing++ already | 07:56 | |
| check out latest version | |||
| moritz | bacek_at_work: just tried with RELEASE_3_2_0-352-g400f3aa and it still segfaults | 07:59 | |
| moritz git clean's and tries again, justin case | 08:00 | ||
| still lots of segfaults | 08:37 | ||
|
08:43
mikehh joined
09:01
jrtayloriv left
09:29
dod left
09:32
lucian joined
09:33
dod joined
09:38
Kulag left
09:44
ambs joined
09:49
Kulag joined
09:52
ShaneC left
10:08
woosley left
10:21
ShaneC joined
10:29
wagle left
10:30
ShaneC left
10:32
lucian left
10:35
lucian joined
10:46
woosley joined
|
|||
| ttbot | Parrot ade5602c i386-linux-thread-multi make error tt.taptinder.org/cmdinfo/65813 | 10:59 | |
|
11:27
Eduardow joined
11:29
contingencyplan left
11:47
brooksbp joined
11:49
mtk joined
11:51
brooksbp left
11:55
Psyche^ joined,
Patterner left,
Psyche^ is now known as Patterner
12:02
bubaflub joined
12:35
benabik left
12:51
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 13:03 | |
|
13:03
zostay left
|
|||
| lucian | 'morning | 13:06 | |
| whiteknight | hello lucian | 13:07 | |
| mikehh | howdy, whiteknight | 13:09 | |
| moritz | \\o | 13:10 | |
| lucian: I liked your reply on melange | |||
| lucian | moritz: oh. thanks | 13:11 | |
| whiteknight | lucian: yes. very nice | 13:12 | |
| it's always good when the student has a clear understanding of the issues | 13:13 | ||
| lucian | i wouldn't call mine "clear" | ||
| boostrapping is still a bit fuzzy | |||
| moritz | it takes some time to wrap your head around bootstrapping :-) | 13:14 | |
|
13:14
plobsing left
|
|||
| mikehh | lucian: "bootstrapping" is always problematic :-} | 13:14 | |
| whiteknight | moritz: have you tried reproducing your bug after plobsing's patch? | ||
| atrodo | I've just always mentally equated bootstrapping with magic | ||
| moritz | whiteknight: rakudo on RELEASE_3_2_0-352-g400f3aa still segfaults | 13:15 | |
| whiteknight | bootstrapping is not magic. It's very sequential. Build one thing, use it to build something bigger. Use that to build something bigger still | ||
| moritz | circular logic is the best kind of logic, because it's circular! | 13:16 | |
| mikehh | one hopes it is incremental, but one has to be careful | ||
| whiteknight | moritz: try git pull. plobsing put in a potential fix very recently | ||
| RELEASE_3_2_0-134-gfa331ee | |||
| I'm running it now, but the fix looks very plausible | |||
| mikehh | maybe that should be two or three or ... | ||
| moritz | whiteknight: RELEASE_3_2_0-134-gfa331ee is, like very old | 13:17 | |
| whiteknight | oh shit, sorry | ||
| moritz | more than 200 commits behind HEAD | ||
|
13:17
bluescreen joined
|
|||
| whiteknight | moritz: okay, my pull didn't succeed the first time. head is RELEASE_3_2_0-352-g400f3aa | 13:18 | |
| and you're saying it still segfaults? That's worrisome | |||
| mikehh just another update to natty that need a re-boot - bbiab | |||
|
13:18
mikehh left
13:19
Eduardow left
|
|||
| moritz | $ ./perl6 -v | 13:20 | |
| This is Rakudo Perl 6, version 2011.03-12-g4bf1327 built on parrot 3.2.0 RELEASE_3_2_0-352-g400f3aa | |||
| $ ./perl6 t/spec/S03-sequence/arity-2-or-more.t | |||
| Segmentation fault | |||
| that is after 'git clean -xdf' in rakudo, and 'make realclean' in parrot | |||
| (note that the 'git clean' also wipes out parrot's install location, because that's a subdir of my rakudo source tree) | |||
|
13:32
plobsing joined
13:33
hudnix joined
|
|||
| lucian | i'm fine with the general concept of boostrapping, but boostrapping python on parrot is a bit odd | 13:36 | |
| lucian goes to eat | |||
| moritz doesn't see how it's more odd than any other bootstrap | |||
|
13:44
Eduardow joined
|
|||
| moritz | whiteknight: regarding the Pod parser proposals, I fear that something went terribly wrong | 13:52 | |
| whiteknight: the Perl 6 folks want a pod6 parser, and we have such a proposal for TPF | 13:53 | ||
| whiteknight: the parrot folks want a POD5 parser, to get rid of another p5 dependency | |||
| whiteknight: those two have not much in common - and it's very unfortunate that the parrot proposal list seems to contain the wrong one | 13:54 | ||
| whiteknight: I've replied to the thread by Joseph Lewis on parrot-dev, and said it would be better suited to apply at TPF with a pod6 proposal, but seems he (and other students) haven't read that | 13:55 | ||
| seems I replied only to the list, not to all people involved - in old habit that all people are on the list :/ | 13:57 | ||
|
14:00
darbelo joined
|
|||
| whiteknight | moritz: no proposal is perfect the first time it is drafted. POD parsing proposals can be steered in a way that is more useful and acceptable to Parrot | 14:02 | |
| moritz: a Pod5 parser would have benefit, as would a more generalized documentation-handling tool | 14:03 | ||
| if we had tools for storing metadata in packfiles and then being able to extract them again, POD could be just one input format for those tools | |||
| or, if we had tools for parsing documentation into PAST, then outputting documentation into various formats through subclasses of POST, that would be a very interesting project also | 14:04 | ||
| and in any case, we shouldn't criticize the project idea, since we proposed it first on our ideas page | |||
| moritz | right | 14:05 | |
| steering it towards parsing p5 seems the most sensible thing to me | |||
| whiteknight | we have three proposals on that same project idea right now. The big question is whether any of them can get their act together and become compelling enough to get accepted | 14:06 | |
| moritz | based on their current forms I rather doubt it, but then I'm open to positive surprises :-) | 14:07 | |
| whiteknight | my thoughts exactly | ||
| lucian | moritz: it's a bit odd because CPython should be able to serve as stage 0, but it can't fully | 14:10 | |
|
14:11
utsl left
|
|||
| lucian | moritz: for two reasons: not all of CPython is pure-python and there's no access from python to native parrot features | 14:12 | |
| moritz | lucian: you mean, past generation? | 14:13 | |
| lucian | moritz: that, and data types | ||
| i could conceivably write a not quite python first | 14:14 | ||
| but that's significant work, and i will likely be better off using winxed or something | |||
| moritz | and call it... *drum rolls*.... NQP! | ||
| lucian | yeah, except no python developer will ever go "Perl syntax? yay!" | 14:15 | |
|
14:17
PacoLinux joined
|
|||
| tadzik | lucian: you can just overload the NQP grammar | 14:18 | |
| Coke | even if you use nqperl (instead of nqpython, as I think moritz was implying), most python on parrot users wouldn't have to touch it, would they? just you. | ||
| lucian | tadzik: i suppose. but then look at semantics too? meh | ||
| Coke: developers would. my main goal is to keep it very hackable | |||
| depending on those 6model docs, it might be a non-issue in fact | 14:19 | ||
| (if 6model provides enough help, the object model will be easy) | |||
| NotFound | lucian: any language can serve as stage 0 if you generate pir. | 14:25 | |
| lucian | NotFound: sure, for the compiler. but then i need objects | ||
| usually the language's "object system" is also boostrapped the same way | |||
| like with C | 14:26 | ||
| moritz | C doesn't have an "object system" | ||
| it just has the machine | |||
| lucian | but with pynie-ng, it's not possible, short of nqpython | ||
| moritz | lucian: you can write a faked-up object system in pir | ||
| lucian | sure, or winxed | 14:27 | |
| moritz | stage0 is all about just getting it work | ||
| lucian | C does have an object system | ||
| types, structs, functions | |||
| NotFound | lucian: Have you seen my experiment with prototypes, or the variant that whiteknight has added to rosella? | ||
| lucian | no | 14:28 | |
| NotFound | One second... | ||
| lucian | moritz: i don't really plan to get it boostrapped soon, because of dependencies | ||
| but even if i did, it wouldn't be much help | 14:29 | ||
| nopaste | "NotFound" at 192.168.1.3 pasted "Experiments with prototype based objects" (133 lines) at nopaste.snit.ch/40118 | ||
| lucian | python's object system is very uniform and recursive | ||
| moritz | it's unicorns all the way down! | ||
| lucian | yes, sort of. except it's snakes. and they eat each other's tails too | 14:31 | |
| NotFound | Unicorned snakes. | ||
| moritz | tail recursion gets a new meaning :-) | 14:32 | |
| lucian | NotFound: hmm, that looks a bit similar to my non-6model plan. thanks | ||
| heh | |||
| darbelo | Except that if you go deep enough you crash into a turtle. | ||
| NotFound | lucian: probably, but using pir or winxed you can do experiments right now. | 14:33 | |
| lucian | NotFound: if i had time, yes. i do know that this method will work, however. just not very elegantly/fast | 14:35 | |
| when i get time (and docs), i'll look at 6model first | |||
| NotFound: so there's a parrot Class called 'Meta' | |||
| that all objects are instances of | |||
| NotFound | Fast, probably not. Elegancy is in the eye of the beholder. | 14:36 | |
| lucian | in python, in addition i'd have 'class' objects | ||
| and instead of a prototype chain, a class chain | 14:37 | ||
| not sure how MI'd work | |||
| NotFound | lucian: that experiment was oriented towards javascript-alike objects. | ||
| lucian | yeah, but JS isn't all that different | ||
| NotFound | The key point is the mechanic to avoid problems with the method cache. | 14:38 | |
| lucian | what's the [vtable] syntax? | 14:39 | |
| NotFound | lucian: it gets translated to a PIR :vtable | ||
| lucian | right | ||
| and ${ } is inline pir? | 14:40 | ||
| NotFound | Yes | ||
| The [ ] syntax for that is borrowed from C# attributes, but in Winxed I call them modifiers. | |||
| Because is mostly used for PIR modifiers. | 14:42 | ||
|
14:43
Andy_ joined
|
|||
| lucian | right. are winxed classes declared like python ones? | 14:43 | |
| i.e. just a namespace where assignments get set into class attributes? | |||
|
14:44
bubaflub left
|
|||
| plobsing | lucian: no. they're baseline parrot ones | 14:44 | |
| NotFound | lucian: no, it follows parrot class and object model. | ||
| lucian | right | ||
| it seemed that way from the syntax | |||
| NotFound | Well, yes, *is*, not just follows. | 14:45 | |
| lucian: that's Winxed magic, you can figure most of it just by looking at its examples ;) | 14:46 | ||
| lucian | hmm | 14:47 | |
| NotFound: hmm, that find_method doesn't walk the prototype chain afaict | 14:51 | ||
| NotFound | lucian: no, it just look ups one level. | 14:52 | |
| lucian | is that 'obj' and explicit this/self? | ||
| right, so i read it right | |||
| s/and/an/ | |||
|
14:54
PacoLinux left
|
|||
| NotFound | The proof of concept was being able to avoid problems with the method cache and to bypass getting and setting of attributes. | 14:54 | |
| lucian | NotFound: see, if I go this route, I'll have to reimplement a lot of things myself, like C3 | ||
| right | |||
| it should actually be passable for a js stage0 | 14:55 | ||
|
14:55
PacoLinux joined
|
|||
| NotFound | That's the idea, a way to prototype naive implementations. | 14:55 | |
| lucian | for python, there's already pynie | ||
| i think it's bitrotten and doesn't work right now | 14:56 | ||
| whiteknight | lucian: Rosella wants to provide things like that in any case. If there are things that you need, it's very probable that Rosella can provide them | ||
| lucian | but it's *extremely* naive | ||
| whiteknight | C3 linearization, prototype-like fallback using multiple prototypes is all possible to do | ||
| and probably worthwhile | |||
| or, if not prototypes, other interesting object models can be provided | 14:57 | ||
| lucian | whiteknight: right. more worthwhile than 6model i wonder? | ||
| whiteknight | probably not. But in terms of prototyping it can be very valuable | ||
| lucian | python's object model is prototypal, shouldn't be an issue | ||
| (most people don't believe that because there's a 'class' statement) | |||
| but it's prototypal where it matters | 14:58 | ||
| whiteknight | A lot of what Rosella is, is future-proofing. If Rosella provides an interface, that interface will try to be stable even if Parrot changes underneith it | ||
| so if Rosella provides an interface for a particular object model, and eventually Parrot adopts 6model into it's core, the Rosella version will still work | 14:59 | ||
| it will just get a lot thinner | |||
| lucian | hmm | ||
| 6model really needs some docs or something, so far i'm under the impression that 6model requires C-level extension | 15:00 | ||
| s | |||
| for each particular implementation of the MOP | |||
|
15:01
UltraDM left
|
|||
| lucian | but i don't know if that's true or not | 15:02 | |
|
15:03
bubaflub joined
15:04
theory joined
15:12
dngor left
15:21
contingencyplan joined
15:28
mj41 joined
15:29
plobsing left
15:33
he joined
|
|||
| whiteknight | I think Google is making initial slot allocations tomorrow | 15:45 | |
| if I am reading the timeline correctly | |||
| moritz | wow | ||
| lucian | really? cool | 15:46 | |
| how many "real" proposal do you have so far? if you can tell | |||
| Coke doesn't think so. | |||
| whiteknight | by my count, we have 6 projects which are pretty fantastic and should be accepted. 2 more that are good enough to accept, but not wowsers | ||
| the rest are poor | 15:47 | ||
| Coke | whiteknight: when do we need to vote by? | ||
| lucian | whiteknight: thanks | ||
| PerlJam | Still end of the wek isn't it? | ||
| s/wek/week/ | |||
| How many slots did we request? | |||
| whiteknight | the 17th is the end of the "initial ranking" period | ||
| I don't quite know what that means | 15:48 | ||
| cotto | more important is to make sure the proposals we want to be accepted have a potential mentor. | ||
| whiteknight | the 22nd is when the winners are announced | ||
| cotto: yes, quite right | |||
| cotto | seen dukeleto | ||
| aloha | dukeleto was last seen in #parrot 2 days 19 hours ago saying "cotto_work: :)". | ||
| whiteknight | Coke: to answer your question, sometime this week or this weekend would be ideal | ||
| Coke | k. shouldn't be a problem. | 15:49 | |
| whiteknight | cotto: I think we can scrape together 8 mentors for good projects | ||
| And as I mentioned, i'm willing to do two of them, if at least one doesn't need a lot of hand-holding | |||
| moritz | it's not just about the total, it's also about who can and want to mentor which project | ||
| whiteknight | also true | ||
| cotto | moritz, of course. Not everyone will be comfortable mentoring every project. | ||
|
15:50
plobsing joined
|
|||
| lucian | www.youtube.com/watch?v=uL2D3qzHtqY interesting | 15:52 | |
| whiteknight | yes, this is very interesting | 15:58 | |
| lucian | i mean, 10mins in he has yet to reveal something to completely surprise me | 15:59 | |
| but it helps to have him lay it out | |||
| whiteknight | he talks quick. I like that. Doesn't waste my time | ||
| lucian | yep | ||
| whiteknight | I would be very interested to hear what serialization mechanism he thinks would be better than bytecode | 16:03 | |
| lucian | i think his point is that we shouldn't use bytecode for the actual execution | 16:04 | |
|
16:04
dmalcolm joined
16:06
woosley left
|
|||
| atrodo | Apparently, I got too bored with that video too quickly | 16:06 | |
|
16:06
dngor joined
16:07
dngor left
16:08
dngor joined
16:12
rohit_nsit08 joined
|
|||
| rohit_nsit08 | whiteknight: hello | 16:12 | |
|
16:23
dodathome joined
|
|||
| whiteknight | hello rohit_nsit08 | 16:23 | |
|
16:23
plobsing left
16:24
bubaflub left
|
|||
| rohit_nsit08 | whiteknight: hi, was going through the irc's chat history | 16:25 | |
| lots of discussion on bootstrapping python, i missed it :-( | |||
| whiteknight: is python's object model also prototype based? | |||
| like javascript | 16:26 | ||
| whiteknight | similar, but not identical | ||
| rohit_nsit08: NotFound and I started adding code for JavaScript objects to Rosella | |||
| lucian | rohit_nsit08: it's similar in that you can create/modify classes/objects at will | ||
| rohit_nsit08: it's class based in that you don't clone objects most of the time, but create new ones | 16:27 | ||
| rohit_nsit08 | lucian: can we add properties at run time dynamically like we do it in javascript? | 16:28 | |
| lucian | rohit_nsit08: yep | ||
| also, all "methods" are just functions that are properties | |||
| "everything is an object" | |||
| rohit_nsit08 | lucian: ya, in javascript even functions are objects :-) | ||
| lucian | rohit_nsit08: same as in python, yes | 16:29 | |
| rohit_nsit08 | whiteknight: thanks, i'll check rosella today, how can i start to get some hands on it? | ||
| lucian | classes are objects, modules are objects, ints are objects, scopes are objects, etc | ||
| whiteknight | rohit_nsit08: get plumage. Then "plumage install Rosella" | ||
| er, you need plumage and winxed | |||
| rohit_nsit08 | lucian: ya, i have installed plumage and rosella both | ||
| and winxed too | 16:30 | ||
| have used winxed for some simple programs | |||
| whiteknight | github.com/Whiteknight/Rosella/blo...ass.winxed | ||
| that's the code for the javascript-like objects. It's not included in the build yet. No tests | 16:31 | ||
| rohit_nsit08 | hmm. let me have a look , btw which projects are using rosella at present? | ||
| whiteknight | none really. Rosella is still new | 16:32 | |
| PerlJam | the most interesting part of that JVM talk starts around 36 minutes in. | ||
| whiteknight | Parrot-Linear-Algebra uses it for the test suite | 16:33 | |
|
16:35
benabik joined
|
|||
| lucian | PerlJam: this is true | 16:37 | |
|
16:38
wagle joined
|
|||
| cotto_work | ~ | 16:39 | |
|
16:43
jaffa4 joined
|
|||
| jaffa4 | hi | 16:43 | |
| whiteknight | hello jaffa4 | 16:44 | |
| jaffa4 | I had a problem last time | 16:45 | |
| I could not run bytecode of perl 6 program | |||
| lucian | whiteknight: 45:30 about bytecode | ||
| jaffa4 | on WIndows | ||
| moritz | ... but oyou used a different nick, just for confusion | ||
| jaffa4 | exsctly | 16:46 | |
| but you are here fortunately | |||
| PerlJam | he was a newbie then. But no more! | ||
| jaffa4 | that was the way of kvirc | ||
| not of my choosing | |||
| I just wonder if anything has happened since then | 16:47 | ||
| or not. | |||
| Coke | as I recall, i was able to duplicate your problem, but I haven't spent any time trying to fix it. | 16:50 | |
| you should open a trac ticket so it doesn't get lost. | |||
| jaffa4 | I suspect it must be a minor problem | ||
| lucian | whiteknight: what he's saying is "java bytecode sucks", which i agree with. not necessarily bytecode in general | ||
| whiteknight | okay, that makes more sense | ||
| lucian | whiteknight: i'd really like to try my hand at a PhD on parrot 2012 or later. depends highly on whether any uni wants me | 16:55 | |
| whiteknight | lucian: heh, harder part is finding a university with a research program that matches your interests | ||
| lucian | yep | ||
|
16:56
jevin joined
|
|||
| whiteknight | I've been looking myself. There aren't a hell of a lot of places around where I live that care about dynamic language runtimes | 16:56 | |
| lucian | i haven't looked to much in the UK | ||
| they seem to care a lot about enterprisey stuff | |||
| cotto_work | lucian: you might talk to allison and see if she can point you somewhere | ||
| lucian | cotto_work: thanks, i'll ask | 16:57 | |
| allison | lucian: bradley kuhn has a connection with a university in the US that has an active interest in dynamic languages | 16:58 | |
| lucian: I forget which one, possibly University of Michigan | |||
|
16:58
mj41 left
|
|||
| lucian | allison: thanks. hmm. i dislike the UI | 16:58 | |
| US | |||
| allison | lucian: it's where he did his master's degree (on how impossible it is to implement Perl in Java) | ||
| lucian: my best experiences have been with Cambridge and Oxford | 16:59 | ||
| cotto_work | he used to hang out in here | ||
| allison | lucian: Oxford has a big old-school Perl/Ruby crowd | ||
| lucian | right | ||
| i don't think they'll want me, though | |||
| allison | lucian: also worth finding out where Brett Cannon (CPython) did his PhD | ||
| lucian | academically, i'm bland | ||
| allison | lucian: I've had good interest also from ETH Zurich | 17:00 | |
| lucian | right. i'll need to make a list | ||
| i haven't thought about it too much since 1) i'm busy right now and 2) i'll be busy for 1 year after i graduate | 17:01 | ||
| allison | lucian: yeah | ||
| jaffa4 | Could sombody fix that bug? | 17:04 | |
| lucian | allison: btw, are you still willing to mentor pynie-ng? | 17:05 | |
| allison | lucian: yup, absolutely | 17:06 | |
| lucian: do I need to enter that into the system? | |||
| lucian | allison: don't think so | ||
| cotto_work | It's important that melange know about mentors. | ||
| whiteknight | We don't have any slot allocations from Google yet. I don't know if it's premature to start putting that stuff in | 17:07 | |
| but then again, it probably can't cause any harm | |||
| cotto_work | The number of projects with mentors is an important signal as to how many slots we'll get. | ||
| lucian | if it can be put in, why not? i've never been a mentor though, and at least 2 years ago you couldn't | 17:08 | |
| whiteknight | The only button I have is "I wish to mentor this project" | ||
| I'm afraid to click it in case it locks other mentors out | |||
| dukeleto | ~~ | 17:09 | |
| cotto_work | That's the important one. I'm pretty sure that multiple people can register their willingness to mentor a project. | ||
| dukeleto has been living under a rock | |||
| cotto_work | ah dukeleto. jit | ||
| allison | lucian: I've signed up as a potential mentor for pynie-ng | ||
| lucian | ok, thanks | 17:10 | |
| jaffa4 | what is pynie-ng | ||
| ? | |||
| lucian | jaffa4: python3 on parrot | ||
| benabik | dukeleto: As long as it was a comfortable rock, that's okay. | ||
| lucian | done "right" | ||
| allison | jaffa4: a Python on Parrot implementation, for Google summer of code | ||
| jaffa4 | I see | 17:11 | |
| is there Perl 5 on Parrot? | |||
| is there no Perl 5 on Parrot? | |||
| PerlJam | jaffa4: no. | ||
| cotto_work | no and yes, respectively | ||
| jaffa4 | it would make sense. | 17:12 | |
| benabik | There's a perl5 next to parrot. | ||
| jaffa4 | perl5 next | ||
| whiteknight | it wouldn't make sense. perl5 is extremely difficult to port | ||
| people have tried before and failed | |||
| benabik | jaffa4: The only real specification for perl5 is the perl5 parser. Duplicating that is what I call "non-trivial" | 17:13 | |
| PerlJam | jaffa4: There was a TPF grant to get the Perl 5 innards to use an honest-to-goodness AST. If that ever happens it might make sense to do an P5AST to PAST translator | ||
| whiteknight | a sanified perl5 subset might be a nice project. So far, no takers | ||
| allison | it would be possible to do "baby perl 5" though | ||
| whiteknight: exactly | |||
| benabik | "nqp5"? | 17:14 | |
| jaffa4 | ppi? | ||
| allison | no need to handle all the edge-quirks | ||
| whiteknight | btp5 | ||
| jaffa4 | what about ppi? | ||
| whiteknight | better than perl 5 | ||
| allison | ppi is good | ||
| isn't that damian's name from a few years ago? | |||
| jaffa4 | use ppi | ||
| allison | before perl6? | ||
| ah: www.perl.com/pub/2005/06/09/ppi.html | 17:15 | ||
| adam kennedy | |||
| lucian | i don't much see the point of a perl5 subset | ||
| allison | those australians all look alike ;) | ||
| lucian | perl5 compatible would be useful for legacy libs | ||
| otherwise, perl6 is nicer and incompatible | |||
| whiteknight | lucian: a cleaned up, more sane perl5 without all the legacy cruft might be pretty popular indeed | 17:16 | |
| would probably make chromatic happy | |||
| lucian | whiteknight: but it wouldn't run CPAN | ||
| PerlJam | lucian: anything that allows Perl 6 to use the existing CPAN with no change would be awesome :) | ||
| whiteknight | lucian: that's not the only draw of Perl5 | ||
| lucian | whiteknight: is there another? even for perl lovers, there's perl6 | 17:17 | |
| whiteknight | the language has other merits, even if a python coder can't admit them | ||
| yes, that's true | |||
| lucian | i do admit that some things are easier in perl5. but it's such a crazy language, it's not worth it. | 17:18 | |
| moritz | agreed | ||
| I like to program in Perl 5, but some ideas behind it are just too broken to replicate it without breaking your own heart | 17:19 | ||
| whiteknight | my happiness with perl5 has decreased pretty precipitously in the last few years | ||
| allison | lucian: I'm not sure perl5-lovers would agree that perl6 is all the perl they need (at least, they haven't agreed so far) | ||
| lucian | allison: that's either perl6 missing things or them being change-averse | ||
| whiteknight | I can't say I'm too much happier with perl6 than with perl5, but I can hardly speak for other perl coders | ||
| allison | lucian: does it really matter which? they love what they love | 17:20 | |
| lucian | allison: i don't think there can be any sane excuse to write new perl5 code | ||
| allison | lucian: that's the nature of programming language choice in general | ||
| dukeleto | lucian: it is called "getting paid" | ||
| allison | lucian: the same could be said of *any* language one doesn't like, but the people who do like it want to use it | ||
| lucian | * other than legacy stuff | ||
| allison: no, not at all. it's not about dislike, it's about sanity | 17:21 | ||
| perl6 seems fine, even though i don't like it much | |||
| dukeleto | cotto_work: so am I needed? I see a really comfortable rock over there ... | ||
| allison | lucian: a bigger question for me is whether anyone who loves perl5 would be interested in moving to a sanitized perl5, if that makes sense | ||
| dukeleto has been taking IRC diets | |||
| lucian | my point is that yet another perl derivative seems useless | ||
| whiteknight | dukeleto: if you are able/interested, could you volunteer as a mentor for some GSoC projects that catch your attention? | 17:22 | |
| allison | lucian: it's exactly the same problem as a new implementation of Python 2.x | ||
| lucian | allison: that would involve breaking a lot of code | ||
| whiteknight | We have two projects without mentors attached, at least one of which looks right up your alley | ||
| cotto_work | dukeleto: should we have a backup gsoc org admin? | ||
| dukeleto | whiteknight: are they using the google-melange.com site now? I attempted to use it for a minute a few days ago, but everythin was different | ||
| whiteknight | cotto_work: I'm a gsoc org admin | 17:23 | |
| allison | lucian: if someone is open to change, they'll be open to Python 3. If they aren't open to change, why would they use anything other than CPython 2.x? | ||
| dukeleto | cotto_work: i think whiteknight is already the backup admin | ||
| cotto_work | whiteknight: great | ||
| lucian | allison: no, a full implementation of perl5, quirks and all, would be useful | ||
| cotto_work | As long as we have one, I'm happy. | ||
| whiteknight | dukeleto: yes, everything is on the google-melange site now | ||
| cotto_work: don't worry, I'm on top of it | |||
| cotto_work | you can also access it on socghop | ||
| lucian | allison: same as a full implementation of python2, with broken closures and old-style classes and crappy strings | ||
| allison: but a (sane) subset would break legacy code, which is most of the point of it | |||
| allison | cotto_work: I vaguely remember that I agreed to be a potential mentor on another GSoC project, but I can't seem to find it now | 17:24 | |
| whiteknight | that's not the only point of it | ||
| a perl5 subset without the crap would be a pretty nice language | |||
| depending on which crap you excised | |||
| and if we built-in Moose, it would be quite nice indeed | |||
| lucian | whiteknight: yes, it might be, i guess | ||
| allison | lucian: yeah, getting to the full set of quirks is always the hard part | 17:25 | |
| lucian | would it be nicer than perl6? i don't know | ||
| whiteknight | lucian: might be faster | ||
| perl6 has got a hell of a lot going on | |||
| lucian | whiteknight: i almost always ignore that argument | ||
| allison | lucian: like, the basic systax is 10%, and duplicating all the weird edge-behaviors is 90% | ||
| whiteknight | a prettified perl5 subset could be more economical | ||
| allison | s/systax/syntax/ | 17:26 | |
| lucian | allison: and then getting it to work well is another 90% | ||
| whiteknight: if it ran 50% of CPAN, i think it might be a very worthwhile project | |||
| allison | lucian: yah | ||
| whiteknight | that's very possible, I think. I mean, much of CPAN is garbage anyway | ||
| where we would invariably run into problems would be with the multitude of special global variables | 17:27 | ||
| allison | lucian: automated integration tests across a wide collection of real code from CPAN would be the critical test | ||
| PerlJam | If it just ran the non-garbage, that would be awesome. That's only what? 5% of CPAN? :) | ||
| lucian | PerlJam: does the non-garbage avoid the ubiquitous whale guts? | ||
| dukeleto | why are we talking about a perl5 subset again? to hear the funny sounds we make? | 17:28 | |
| because I surely don't see any logical reason for it | |||
| whiteknight | blah | ||
| I think there's plenty of logic for it | 17:29 | ||
| if we show perl5 coders that they have a better situation on Parrot, the sensible ones might migrate | |||
| dukeleto | whiteknight: i think you are sorely disconnected from the Perl community, buddy :) | ||
| whiteknight | so there are no sensible ones? | 17:30 | |
| PerlJam | whiteknight: what makes you so sure that they'd have a better situation on Parrot? | ||
| cotto_work | Once we cut out our work, we'll have our work cut out for us. | 17:31 | |
| dukeleto is feeling devil's advocate-ish today, it seems | 17:33 | ||
| whiteknight: if there was a 0.001% chance that "perl5 on parrot" was not bug-for-bug compatible with Perl 5, no one would want to run their code on it | 17:34 | ||
| cotto_work | dukeleto: yeah. I don't hold out much hope for Parrot as an alternate compiler/runtime for Perl 5. | 17:35 | |
| benabik | Blizkost (embedded Perl5) really seems like the best solution to integrate Perl5 into the Parrot-verse. | 17:36 | |
| PerlJam | why are people always advocating for the devil? doesn't he have enough advocates already? | ||
| jaffa4 | What is crap in perl 5? | ||
| PerlJam | benabik: I agree. | ||
| jaffa4 | WHat do you consider bad in Perl 5? | 17:37 | |
| dukeleto | i am logged into melange. I have used melange for 4 years, and now nothing makes sense. Why, why, why? | ||
| lucian | jaffa4: depends highly on who you ask | ||
| cotto_work | dukeleto: because melange-- | ||
| dukeleto | melange-- indeed | ||
| cotto_work | It's nice how the left the least useful part in. | 17:38 | |
| *they | 17:39 | ||
| NotFound | One thing that p5 on parrot can be used for is as a test framework for proposals and new features. | 17:40 | |
| Provided that its compiler will be a lot easier to hack on tnan regular p5, of course. | 17:41 | ||
| dukeleto | whiteknight: how in the *** do i see our student proposals? | ||
| arnsholt | dukeleto: You're Excess flooding a lot (a LOT) over at freenode | ||
| cotto_work | dukeleto: it should be on the dashboard | 17:42 | |
| dukeleto | arnsholt: thanks. I had to calm down some dueling irc clients | ||
| cotto_work: nope. I see nothing. It doesn't seem to think that I am an org admin | 17:43 | ||
| PerlJam wonders what happens to already-scored proposals if the org admin changes the max rating from 5 stars to 10 stars | |||
| dukeleto | whiteknight: am I listed as an org admin when you are logged into melange? | ||
| NotFound | PerlJam: *= 2 ? | ||
| whiteknight | dukeleto: no, I don't see you listed at all | 17:44 | |
| PerlJam | NotFound: probably nothing now that I think about it for more than 1 second | ||
| Although melange might just do something entirely different for all I know | 17:45 | ||
| whiteknight | dukeleto: apply to be a mentor :) | ||
|
17:46
benabik left
17:47
hercynium joined
17:48
dngor left,
whiteknight left
17:49
whiteknight joined
17:51
whiteknight_ joined
|
|||
| Coke | dukeleto: melange supports logging in via google-hosted accounts (not just gmail accounts) - perhaps you have the auth from a different account than your admin account in effect. | 17:52 | |
| dukeleto | whiteknight: i did apply to be a mentor | 17:53 | |
| whiteknight_ | awesome | ||
| dukeleto | Coke: possibly. | ||
| Coke: but my 'linkid' for gsoc/melange has always been dukeleto and that is what is showing | 17:54 | ||
| Coke: it shows that i submitted org apps for TPF and Parrot, but I am not org admin for Parrot | |||
| Coke | dukeleto: my linkid is coke for both wcoleda@gmail & will@coleda, methinks. | 17:55 | |
|
17:55
whiteknight left,
whiteknight_ is now known as whiteknight
|
|||
| Coke would open a bug report with the melange folks. they are pretty responsive. | 17:55 | ||
|
17:58
benabik joined
|
|||
| dukeleto | blarg | 18:00 | |
|
18:01
ShaneC joined
18:02
lucian_ joined
|
|||
| jaffa4 | is there reflection in perl6? | 18:03 | |
| ?melange | |||
| !melange | |||
| what is melange | |||
| PerlJam | jaffa4: perl6 questions are best asked on #perl6 :-) | 18:04 | |
| jaffa4: melange is the software that google uses to manage GSoC | |||
| jaffa4 | except when it is best to ask there? | ||
| Coke | #perl6 on freenode.net | ||
| jaffa4 | except when it is best to ask here? | ||
| benabik | aloha, melange? | ||
| aloha | benabik: melange is crapping out or socghop.appspot.com or /google-melange.com | ||
| PerlJam | jaffa4: it's best to ask parrot related stuff here. | ||
|
18:05
lucian left,
dngor joined
|
|||
| dukeleto | jaffa4: we can answer questions about how Rakudo Perl 6 and Parrot VM interact, but perl6-specific questions should be asked in #perl6 on freenode | 18:07 | |
| Coke | not that we don't like perl6, but the folks over there (some of who is us) are better able to talk about perl6. | 18:11 | |
|
18:12
dngor left
|
|||
| lucian_ | aloha: melange is not /google-melange.com | 18:16 | |
| aloha | lucian_: ... but melange is crapping out or socghop.appspot.com or /google-melange.com ... | ||
|
18:16
lucian_ is now known as lucian
|
|||
| lucian | bah. how do you fix aloha's brain entries | 18:16 | |
| whiteknight | hatchet | 18:18 | |
| lucian flings a hatchet at aloha's skull | 18:19 | ||
| benabik | aloha: no, melange is crapping out or socghop.appspot.com or google-melange.com | 18:20 | |
| whiteknight | aloha forget melange | ||
| aloha | benabik: Okay. | ||
| whiteknight: I forgot about melange. | |||
| whiteknight | aloha melange is google-melange.com | ||
| aloha | whiteknight: Okay. | ||
| whiteknight | damn right it's okay | ||
| aloha VisualBasic? | 18:21 | ||
| aloha | whiteknight: I have no idea. | ||
| whiteknight | aloha VisualBasic is vomit for stupid people | ||
| aloha | whiteknight: Okay. | ||
| lucian | aloha: perl? | ||
| aloha | lucian: perl is invoked: perl -I/home/klaus/build/exe/lib/parrot/2.9.1/tools/lib t/harness | ||
| lucian | aloha perl5? | ||
| aloha | lucian: No clue. Sorry. | ||
| whiteknight | I can't barely read any of this crap | ||
| who invented visualbasic? | |||
| lucian | aloha: perl5 is surprisingly functional exploded whale guts | ||
| aloha | lucian: Okay. | ||
| atrodo | whiteknight> I believe microsoft in some fashion | 18:22 | |
| whiteknight | I can't reconcile that with the fact that they also produced C# | 18:23 | |
| one language is so good, the other is so appallingly bad | |||
| it's like they're taking "bring your kids to work day" too seriously | |||
| lucian | whiteknight: totally different teams in a big company | ||
| atrodo | whiteknight> It's called legacy. And the fact that I don't think they care at all about VB except that it keeps people on VB | 18:24 | |
| lucian | also C# was close enough to Java to be able to learn from its mistakes easily | ||
| benabik | There's also VB.net | ||
| whiteknight | lucian: So there's an entire incompetent team, as opposed to one mostly-competent team having a few bad days? | ||
| lucian | whiteknight: i'm quite certain | ||
| whiteknight | lucian: I'm not sure that's any better | ||
| lucian | a few bad days is no excuse for the myriad crappy basic derivatives in windows-land | ||
| whiteknight | if I were a manager at microsoft, I would fire people all day and all night long | 18:25 | |
| one after the other | |||
| and I would start with the VB.net team | |||
| atrodo | Also, C# was designed. And by someone competent, Anders Hejlsberg | ||
| lucian | oddly enough, they hire lots of very smart people | ||
| whiteknight | I'm reading VB code, and I'm thinking to myself "Compared to this, IMCC is a masterwork of human acheivement" | 18:28 | |
| Coke | eh. you can write crap code in anything. | ||
| whiteknight | no argument, though there are some languages that specifically encourage it | 18:29 | |
| lucian | and plenty of languages really are just crap | 18:30 | |
| whiteknight | thank you | ||
| more people need to just accept that sentiment | |||
| some languages are just crap | |||
| lucian | when you get to the point where it's easier to design a language that compiles to that language than actually write it, it's very obvious | ||
| but there are earlier signs | 18:31 | ||
| whiteknight | I had a professor who used to say "you can write fortran in any language", which is true. However in fortran, you can only write fortran | ||
| the joke was about the poor quality and readability of early fortran dialects | 18:32 | ||
| Coke | lucian: like everything aside from python, yes, we know. ;) | ||
| PerlJam | whiteknight: ah, but there's fortran IV, fortran V, fortran 66, fortran 77, fortran 90, .... there are so many fortrans to choose from! :) | ||
| lucian | Coke: no, i'm not like that at all :) | ||
| php, perl5, java are however on my craplist | 18:33 | ||
| whiteknight | PerlJam: don't need to choose. We can lump them all together into the same category | ||
| then dump the entire category into the trash | |||
| lucian | i do like quite a few other languages. and even python is just alright-to-good | ||
| lucian goes to eat | |||
| cotto_work | It's not fair to put php in the same category as anything. Its idea of a callback is a string containing the name of a function. | ||
| atrodo wishes there was a dwim language, with one operation: dwim; | 18:34 | ||
|
18:34
dngor joined
|
|||
| lucian | cotto_work: i'm not so sure. i've seen perl5's arrays-things | 18:34 | |
| whiteknight | cotto_work: php is still not terrible. I've used PHP before and not been too unhappy with it | ||
| though php does have its share of infelicities | |||
| cotto_work | more than its share | 18:35 | |
| whiteknight | in terms of raw syntax, it's not a bad language | ||
| it's the haphazard runtime library that gets people frazzled | |||
| PerlJam | that and the 20 different sorting routines (for instance) | 18:36 | |
| cotto_work | generality is not its strong suit | 18:37 | |
| tadzik | and some of the functions in camelCase, some_with_undercores, and some cstyle | ||
| cotto_work | or consistency | ||
| atrodo | cotto_work> Actually, javascript has in a couple places the same concept of callback-as-string | ||
| cotto_work | but javascript also has actual first-class functions | ||
| A string callback is fine if it's not the *only* way of using a callback. | 18:38 | ||
| whiteknight | the @ operator in PHP is its own breed of special | 18:39 | |
| PerlJam | PHP is asymptotically approaching sanity though. It's slope is just a little shallower than it should be | ||
| and they make a few mistakes on the way there (namespace syntax anyone?) | |||
| Coke wonders where in JS core there is string-as-callback. | |||
| whiteknight | if we can get JS and Python3 working on Parrot with a reasonable amount of success, and if Cardinal can get moving again, I think the next big target is PHP | 18:46 | |
| as much as it might be derided, it is a popular dynamic programming language | 18:47 | ||
| we'd have to offer a console variant, I doubt we can compete performance-wise in a server context any time soon | |||
| cotto_work | I think PHP would be a relatively easy target, apart from all the extensions. | ||
| whiteknight | I think so too | 18:48 | |
| moritz | cotto_work: PHP has thousands of built-ins that take huge work to duplicate | ||
| cotto_work | moritz: that's the hard part. | ||
| but most of them are unused. We could get a long way with the most popular 5-10 extensions. | |||
| PerlJam | Wasn't someone working on PHP already? | 18:50 | |
| cotto_work | barney, fperrad and I were. | ||
| I want to get Lorito stable before I re-start that work. | |||
| whiteknight | that was a long time ago. Last time I looked at the source i saw xslt and I stopped reading | ||
| github.com/bschmalhofer/pipp | 18:51 | ||
| cotto_work | that's the one | ||
| whiteknight | looks like it uses older PCT | ||
| cotto_work | yes | 18:52 | |
| PerlJam | yeah ... when you restart it, you should take advantage of all those PHP programming language hackers out there and write the compiler in PHP ;-) | ||
| whiteknight | that's my opinion | ||
| cotto_work | PerlJam: I was thinking of something like that. | 18:53 | |
| PerlJam | Seems to be the common pattern these days. | ||
| whiteknight | it makes the most sense for established languages | ||
| cotto_work | A (mostly) self-hosted compiler will be a much easier sell than one written in some framework and language that nobody in the PHP community knows or cares to learn. | ||
| whiteknight | for new languages, a toolset like PCT makes great sense. For an existing language with a large enough base, self-hosting is a natural concept | 18:54 | |
| PerlJam | do people write parsers and such in PHP? I never even considered it enough to look | ||
| benabik | And bootstrapping is awesome. | ||
| cotto_work | Some kind of self-hosted PHP parser exists. I haven't dug too far into it yet. | ||
| whiteknight | wezfurlong.org/blog/2006/nov/parser...s-for-php/ | 18:55 | |
| so we have a parser generator | |||
| bugs me that this parser is written in C | |||
| cotto_work | nice | ||
|
18:57
dafrito left
|
|||
| whiteknight | pear.php.net/package/PHP_Parser/ | 18:57 | |
| dalek | nxed: r954 | NotFound++ | trunk/winxedst0.cpp: change expansion of predef bodies in stage 0, previous way was vulnerable to |
18:59 | |
| whiteknight | it looks like this is not a very popular topic of inquiry | 19:00 | |
|
19:01
[hercynium] joined
|
|||
| NotFound | If I remeber well, Microsoft didn't invented Visual Basic, they bought a company that did. | 19:03 | |
|
19:03
[hercynium]_ joined
|
|||
| tadzik | whiteknight: āWhen the summer ends and the student disappears foreverā, you write. Is it common, people come and go, rarely stay? | 19:04 | |
| cotto_work | whiteknight used to be a gsoc student | ||
| He's the exception though. Only a few stick around historically. | 19:05 | ||
|
19:05
hercynium left
|
|||
| cotto_work | whiteknight: yeah. The nature of PHP doesn't encourage language experimentation in the same way that Perl and Perl 6 do. | 19:05 | |
| whiteknight | tadzik: it's more common than we would like. The fact is that these students have other exciting things to work on | ||
| either school starts back up, or they graduate and get a real job, etc | |||
|
19:06
[hercynium]_ is now known as hercynium
|
|||
| whiteknight | cotto_work: JS has been showing quite an explosion recently, so there are lots of tools available for that language to self-host | 19:06 | |
| And Python has a big toolset, with lots of compiler experimentation in that community | |||
| I wonder if it would ever make sense to get cardinal to self-host | |||
| but I'm sure we would have to wait until after the metamodel improvements for that | 19:07 | ||
| rohit_nsit08 | whiteknight: agree, summer vacations are followed by the placement session. Btw nice blog post about rosella test-suite, cleared lots of doubts | ||
| whiteknight | rohit_nsit08: thanks! | 19:08 | |
|
19:08
[hercynium] left
|
|||
| PerlJam | "ruby parser" gets tons of good hits on google. | 19:08 | |
| cotto_work | If we get one good long-term contributor out of gsoc, that's still pretty good. | ||
|
19:09
lucian_ joined
|
|||
| whiteknight | or, if we just manage not to lose lucian, that would still be good | 19:11 | |
|
19:13
lucian left,
plobsing joined
|
|||
| cotto_work | oh noes | 19:13 | |
| lucian_ | heh | 19:22 | |
|
19:22
lucian_ is now known as lucian
|
|||
| lucian | that was awesome timing | 19:22 | |
| whiteknight: i'd expect rubinius to have a lot of reusable ruby code | |||
| i'm pretty sure their compiler is pure-ruby | |||
| anyone interested in Python3 on Parrot, gather round for a short ceremony | 19:23 | ||
| whiteknight is present | |||
| NotFound is half-interested | 19:24 | ||
| lucian | We have all gathered here today to christen a new one in our midst | ||
| reborn thrice, it now it actually has funding | 19:25 | ||
| (for a couple of months anyway) | |||
| Python3 on Parrot, I dub thee Puffin! www.seabird.org/assets/gallery/bird...ffin13.jpg | |||
| disclaimer: it might not actually have funding. and it might not actually survive | |||
| benabik | Puffins, the Parrot of the Sea: www.puffinpalooza.com/puffins-the-p...f-the-sea/ | 19:26 | |
| NotFound | Snakes on a parrot! | ||
| lucian | NotFound: terrifying. puffins are much more easier on the eye than a snake on a parrot | 19:27 | |
| s/more// | |||
| darbelo | lucian: en.wikipedia.org/wiki/Quetzalcoatl | 19:28 | |
| lucian | darbelo: heh, not bad | ||
| NotFound | That depends... snakes around something have a tradition as symbol of good things ;) | 19:29 | |
| lucian | NotFound: those medic folk are deviants, don't mind them :) | 19:30 | |
| plobsing | Anhinga - snakebird | ||
| NotFound | BTW if somenone wants a toy project with a plus on ugliness: write an alternate parser for winxed that uses indentation python style instead of braces ;) | 19:32 | |
|
19:32
Andy_ left
|
|||
| lucian | NotFound: have you thought how that'd interact with function literals? | 19:33 | |
| NotFound | lucian: of course not, that's part of the project. | 19:34 | |
| lucian | i think i might actually like something like that | 19:35 | |
| CoffeeScript tackles the problem of lambdas with indentation syntax quite well | |||
| NotFound | I'm open to be surprised. | ||
| Tene | whiteknight: explain exactly what you mean by "self host" for cardinal? | ||
| lucian | if i find the time, and if you're willing to include it in winxed, i might do it | 19:36 | |
| whiteknight | Tene: be written in Ruby | ||
| Tene | whiteknight: *all* of it can't be *exclusively* python, as it has to generate something appropriate for parrot eventually. | ||
| although, I guess it could generate PAST... | |||
| whiteknight | Tene: the code generator could be written in python and output a bunch of PIR string literals | ||
| Tene | Yeah, that's certainly plausible. | 19:37 | |
| whiteknight | it's all still python | ||
| NotFound | lucian: uh... the ability to allow both syntax in the same compiler will make it a lot more than a toy project. | ||
| lucian | NotFound: not in the same file, just a switch | ||
| Tene | whiteknight: Sure, I was just curious where you were thinking of the boundary as in your question. | ||
| whiteknight: I certainly plan for it to be significantly self-hosting, at least. | |||
| NotFound | lucian: yes, but changes in the current parser to ignore or not newlines will not be trivial. | 19:38 | |
| lucian | NotFound: newlines aren't so significant as indent/dedent are | ||
| hmm | 19:39 | ||
| NotFound | lucian: maybe there is a way, but on principle I don't want to add complexity to the parser, son don't take the idea too seriously. | 19:41 | |
| PerlJam | whiteknight: I just read your blog post on gsoc proposals. It should be required reading for proposal submisison next year. whiteknight++ | ||
| lucian | right. i don't see the point of it if it isn't included, which is why i asked | 19:42 | |
| NotFound: something like efene/ifene www.marianoguerra.com.ar/efene/ | |||
| whiteknight | PerlJam: Thanks. I do hope that some prospective students actually see it | 19:44 | |
| it's amazing that I have so much to write about what students are doing wrong | |||
| NotFound | lucian: looks nice. The problem I see with having alternative syntaxes is fragmenting the community. | ||
| lucian | NotFound: if the parser can convert between the two, it shouldn't be a problem | 19:45 | |
| NotFound | lucian: most people are not so able to mixing syntaxes it his minds as the ones interested in language design like us. So there is a problem. | 19:47 | |
| lucian | perhaps | ||
| we should ask efene folks | |||
| it's about as popular as winxed, i guess | |||
| NotFound | For a now... ;) | 19:48 | |
|
19:49
mj41 joined
|
|||
| cotto_work | whiteknight: thank you for writing that. I'm about 1/3 through it, but so far it sounds like we need to make that required reading for future gsoc students. | 19:50 | |
| lucian | yes, i expect efene to get a lot more popular :P | ||
|
19:51
plobsing left,
benabik left
|
|||
| cotto_work | whiteknight++ | 19:56 | |
| karma whiteknight | 19:57 | ||
| aloha | whiteknight has karma of 1070. | ||
| cotto_work | that's proper | ||
| tadzik | :) | 19:58 | |
|
20:00
dafrito joined
|
|||
| lucian | whiteknight+=10 | 20:01 | |
| karma whiteknight | |||
| aloha | whiteknight has karma of 1070. | ||
| lucian | NotFound++ | ||
| lucian closes shop for the day | 20:03 | ||
|
20:03
lucian left
20:05
bubaflub joined
|
|||
| whiteknight | yay! I finally broke 1k | 20:07 | |
| not too long now before I can collect a delicious, delicious donut | |||
| NotFound | Covered with syntactic sugar? | 20:08 | |
| whiteknight | melted down into a sticky syntactic glaze | ||
|
20:09
jrtayloriv joined
|
|||
| dalek | nxed: r955 | NotFound++ | trunk/winxedst1.winxed: use indent constants instead of spaces in a few remanant places |
20:13 | |
|
20:23
whiteknight left
20:30
utsl joined
20:31
dodathome left
|
|||
| darbelo | Hm. Does melange have a way to indicate "I could probably help mentor for this if needed" as opposed to "I would fight to the death over the honor of mentoring this" | 20:33 | |
| cotto_work | darbelo: do you even have to ask? | ||
| We'll make sure to keep you out of any fights to the death. | 20:34 | ||
| jaffa4 | lucian : Is it from StarGate universe? | ||
| cotto_work | maybe | ||
| jaffa4: ENOLUCIAN | 20:35 | ||
| darbelo | cotto_work: I can, at best, impersonate a knowledgeable mentor on the subject of two of our proposals. | 20:36 | |
| cotto_work | darbelo: which ones? | 20:37 | |
| I see you're listed for the LALR project. I'd like to see that one happen. | 20:38 | ||
| darbelo | Me too. That's then one I'm most comfortable tackling as well. | 20:39 | |
| But I guess I can do a passable job on the GMP one. | 20:40 | ||
| ... Which I just clicked on :) | 20:41 | ||
|
20:41
mj41 left
20:43
nwellnhof joined
|
|||
| darbelo | But we do seem to have a set of underapreciated proposals, which nobody so far has volunteered on. | 20:44 | |
| cotto_work | Most of the low-rated ones aren't worth looking at until the student shows up and demonstrates an interest in working with the community. | 20:45 | |
| PerlJam | "most"? | 20:46 | |
| cotto_work | A couple students have at least left comments on their proposals in response to questions. It's necessary but not sufficient. | ||
| darbelo | PerlJam: It's all in how you define "low rated". | 20:48 | |
| cotto_work | <10 | 20:49 | |
| (atm) | |||
| darbelo | Looking at them again, sorting by total score. I'm inclined to agree. | 20:51 | |
|
20:52
fperrad left
|
|||
| moritz | it's interesting that sorting by total and average score is mostly the same | 20:52 | |
| darbelo | I was about to remark on that. The middle fluctuates, but the top four are the top four. | 20:53 | |
| And the bottom three are the bottom three, regardless of sorting. | |||
| cotto_work | seen justina | 20:54 | |
| aloha | Sorry, I haven't seen justina. | ||
| cotto_work | I'm hoping she turns out to care. Profiling needs love. | 20:55 | |
| darbelo | Indeed. | 20:56 | |
| The impact from a HLL-oriented profiler could be enormous. | 20:57 | ||
| PerlJam | there has got to be a bug in the melange code that generates the table of proposals. each time I login, I get a different column configuration. | 21:05 | |
| cotto_work | It's special. | 21:06 | |
| moritz | it's got *character* | 21:07 | |
|
21:08
jevin left
21:10
jevin joined
|
|||
| cotto_work | I'm glad Google is continuing to do GSoC. I can't fathom what they were thinking with the ui change and why they didn't change the excessively ajaxy tables. | 21:12 | |
|
21:12
davidfetter joined
21:14
ambs left
21:18
jaffa4 left
21:21
[hercynium] joined
21:22
jevin left,
jevin joined
21:25
hercynium left,
[hercynium] is now known as hercynium
21:32
bluescreen left
|
|||
| darbelo | PerlJam: A column got added recently. | 21:39 | |
| And I think the excessively ajaxy tables are an app-engine thing. | 21:40 | ||
| I'd say "excessively ajaxy" describes most of the stuff build on app engine. | 21:41 | ||
| PerlJam | it's the future, only now instead of later. | 21:42 | |
|
21:48
plobsing joined
|
|||
| darbelo | I already don't like it. | 21:49 | |
|
21:49
Drossel joined
|
|||
| darbelo | I've been disliking the future of the web for years. | 21:49 | |
| It's the kind of pioneering I do. | |||
| PerlJam | that's the thing about the future ... whether you like it or not, you have to deal with it. | 21:50 | |
| darbelo | Oh, I deal with it alright. | 21:52 | |
| I install text-based browser on all of my computers. | |||
| Done. | |||
| It improves most sites in ways you wouldn't believe :) | 21:53 | ||
| PerlJam | I'm sure | 21:54 | |
|
21:54
Kulag left
|
|||
| dalek | tracwiki: v79 | cotto++ | ParrotQuotes | 22:02 | |
| tracwiki: trac.parrot.org/parrot/wiki/ParrotQ...ction=diff | |||
|
22:07
dngor_ joined
22:11
dngor left
|
|||
| rohit_nsit08 | darbelo: hi, any benefits in using text based browser? was just curious to hear | 22:17 | |
| darbelo | You don't have to deal with anything that isn't text :) | ||
| cotto_work | rohit_nsit08: fire up lynx and give it a shot | 22:18 | |
| rohit_nsit08 | cotto_work: was doing it from last 15 minutes :-) | ||
| darbelo | Yeah. Take a look at, say, youtube. Isn't is much nicer this way? | 22:19 | |
| rohit_nsit08 | cotto_work: was simple but lots of features we get from browser were missing | ||
| bubaflub | rohit_nsit08: if you have to do webdesign, looking at a page in a text browser is a good approximation on how a search engine sees your page | ||
| rohit_nsit08 | didn't tried youtube | ||
| let me see | |||
| bubaflub: hmm... ya i could see how the requests were going | 22:20 | ||
|
22:20
whiteknight joined
|
|||
| rohit_nsit08 | i usually use http headers plugin of mozilla to see | 22:20 | |
| that | |||
| can't play youtube video, its asking for adobe flash plugin anyway it is good for static website and i must say quick also | 22:23 | ||
| darbelo | I should probably write an HTML5 'app' that lets the younger generations experience text browsing. | 22:24 | |
| cotto_work | You can do text games with the url bar. | 22:25 | |
| url hunter is only the beginning | |||
| rohit_nsit08 | cotto_work: text games? pls give me the link | ||
| cotto_work | rohit_nsit08: url hunter | 22:26 | |
| probablyinteractive.com/url-hunter | |||
| rohit_nsit08 | got it :-) trying | ||
| dalek | rrot/soh-cah-toa/tt1215: 04849ac | Kevin++ | / (3 files): Patch (almost) for ticket #1215. The .pod file are for another commit. |
||
| rrot/soh-cah-toa/tt1215: 1c40b2c | (Kevin Polulak)++ | / (2 files): Fix for the issues addressed in ticket #1215. Refactored duplicate code in the 'fetch' and 'vivify' opcodes. |
|||
|
22:27
jevin left
|
|||
| cotto_work | whoever pulled that, don't merge | 22:27 | |
| whiteknight | I'm no merging | ||
| cotto_work | k | ||
| whiteknight | I'm just taking a look, with my fingers | ||
| why no merge? | |||
| cotto_work | I commented in the pull request | ||
| whiteknight | oh, he hasn't modified it yet? | ||
|
22:28
soh_cah_toa joined
|
|||
| whiteknight | soh_cah_toa sent in his CLA. Somebody nominate him to become a committer tomorrow | 22:28 | |
| cotto_work | I'd rather see some more patches. | ||
| soh_cah_toa | i'm working on it now actually | ||
| cotto_work | soh_cah_toa: great | ||
| whiteknight | I don't think that common code should be moved into a static function | 22:29 | |
| soh_cah_toa | the reason i put it src/pmc.c is b/c someone said it was the best place since the op preamble was really only for macros and includes | ||
| cotto_work | soh_cah_toa: apologies for the conflicting direction. src/pmc.c is the place for generally useful pmc-related code, but the common code shouldn't be generally used. | ||
| whiteknight | I think it's better to have them in pmc.c, especially if we want to use that behavior from anywhere else | ||
| I said it was the best place | |||
|
22:29
hercynium left
|
|||
| cotto_work | The common code is odd. | 22:30 | |
| whiteknight | what do you mean? | ||
| oh, actually it doesn't work | |||
| cotto_work | It creates a new PMC based on the passed parameter, but has separate paths for Class vs normal pmc. | 22:31 | |
|
22:31
Coke left
|
|||
| whiteknight | yeah, we can probably refactor this beter | 22:32 | |
| better | |||
| soh_cah_toa | alright how | ||
| whiteknight | the part that takes a key and returns a Class or PMCProxy can be refactored out | ||
| cotto_work | I'm happy to have a static function, but better suggestions are welcome. | ||
| whiteknight | Parrot_oo_get_class_from_key can go into src/oo.c | ||
| the code in Parrot_stock_vivify looks like an exact copy of the internal part of Parrot_stock_fetch | 22:33 | ||
| cotto_work | it is | ||
| soh_cah_toa | not quite | ||
| whiteknight | no? | ||
| cotto_work | orly? | ||
| soh_cah_toa | the outer if is in fetch | 22:34 | |
| then in vivify the function is called within an if | |||
| cotto_work | Ah. I'd leave the if in the op body | ||
| whiteknight | yeah, take the if out of the function, and move that into the op | 22:35 | |
| soh_cah_toa | there was a reason i didn't do that. i think that would require another argument | ||
| i think. let me check | |||
| cotto_work | worked fine for me last night when I was playing with it | ||
| either that or our test coverage of those ops is lacking | 22:36 | ||
| soh_cah_toa | your right | ||
| why did i do that? | |||
| cotto_work looks to his right | |||
| soh_cah_toa | oh well | ||
| oh wait | 22:37 | ||
| if i copied the outer if... | |||
| cotto_work | btw, welcome to yak shaving | ||
| this is relatively shallow for Parrot | |||
| soh_cah_toa | then it'd have a call to VTABLE_set_pmc_keyed | ||
| which uses args $2 and $3 | 22:38 | ||
| which i wanted to avoid | |||
| b/c the types of $2 and $3 vary | |||
|
22:38
kid51 joined
|
|||
| cotto_work | soh_cah_toa: how much longer are you online? I'd like to dig into this more at home. | 22:39 | |
| soh_cah_toa | i'll be here | ||
| cotto_work | ok | ||
| need to focus on $dayjob for a while | |||
| soh_cah_toa | sure, that's fine | 22:40 | |
|
22:42
bubaflub left
|
|||
| soh_cah_toa | whiteknight: i don't think there's a call to Parrot_oo_get_class_from_key | 22:42 | |
| whiteknight: just Parrot_oo_get_class | 22:43 | ||
| rohit_nsit08 | good night #parrot , cotto_work: nice game :-) | 22:45 | |
|
22:46
rohit_nsit08 left
22:48
dmalcolm left
|
|||
| dalek | TT #2091 created by jkeenan++: t/op/gc-leaky-box.t, t/op/gc-leaky-call.t: new test failures | 22:49 | |
| TT #2091: trac.parrot.org/parrot/ticket/2091 | |||
| whiteknight | soh_cah_toa: I'm saying you should create a new function called Parrot_oo_get_class_from_key | 22:57 | |
| plobsing | whiteknight: but that isn't what those do. they don't use keys to create new PMCs, they use proto-objects. | 22:59 | |
| whiteknight | whatever we call them. I'm looking forward to a future where Class and PMCProxy are unified | ||
| or, more importantly, a time when PMCProxy can go the hell away | |||
| a function that takes a Key and returns a metaobject is easy to find uses for | 23:01 | ||
| plobsing | but that's not what the task was. the task was to refactor common code out of vivify/fetch. these use neither keys nor metaobjects to identify type. | 23:04 | |
| soh_cah_toa | oh, alright | 23:05 | |
| plobsing | that behaviour is not consistent with the rest of parrot, and for that reason should not be allowed to spread further. | ||
| whiteknight | what is not consistent? | ||
| plobsing | vivify/fetch vis-a-vis the rest of parrot | 23:06 | |
| whiteknight | you don't like vivify/fetch? | 23:07 | |
| soh_cah_toa | plobsing: you mean having them call static functions? | ||
| plobsing | whiteknight: no. I think they are great, Perl 6-specific, convenience ops. | ||
| but Perl 6 proto-object OO is not how parrot OO works and is not likely to be what it becomes in the future | 23:08 | ||
| whiteknight | okay, that's fair | ||
| soh_cah_toa | i see | ||
| whiteknight | I won't argue on their behalf | ||
| soh_cah_toa | me neither | ||
| plobsing | soh_cah_toa: my prefered option is for them to be static functions. | ||
| so that we don't expose the functionality | |||
| soh_cah_toa | so let me see if i got this... | 23:09 | |
| whiteknight | okay, that's fine. Static funtions work fine form e | ||
| for me | |||
| soh_cah_toa | you'd like it if fetch/vivify were removed as opcodes and made into functions? | ||
| for other opcodes to call? | |||
| whiteknight | no, they need to be opcodes | 23:10 | |
| plobsing | the opcodes to call static functions. they need to be opcodes. just static functions would be pointless. | ||
| whiteknight | soh_cah_toa: refactor those Parrot_store_* functions into static functions in the ops preamble | ||
| cotto_work | soh_cah_toa: the problem is that they don't match how the rest of Parrot works. The function should be factored out into a static so that there's less repeated code, but it shouldn't be used apart from the ops. | ||
| soh_cah_toa | right | ||
| but the way to do that is to add the definitions to the preamble which i thought was only for preprocessor directives | 23:11 | ||
| plobsing | why does it have to be? do static functions work there? try it. if it works... | 23:12 | |
| soh_cah_toa | that's just what i was told. i have no problem doing it that way | ||
|
23:13
darbelo left
|
|||
| soh_cah_toa | logically it makes more sense b/c they're only used by fetch/vivify | 23:13 | |
|
23:13
preflex left
|
|||
| soh_cah_toa | alright, let me give it a try | 23:14 | |
|
23:16
preflex joined
|
|||
| soh_cah_toa | btw, is there a way for me to test my changes w/o having to build the entire thing? | 23:18 | |
| would i just use ops2c.pl? | |||
| cotto_work | make corevm | 23:19 | |
| plobsing | opsc --core | ||
| and then make corevm | 23:20 | ||
| cotto_work | corevm will build all the Parrot stuff, ./opsc --core will just run ops2c | ||
| soh_cah_toa | perfect | ||
| cotto_work | corevm is really nice for this kind of change | ||
| dalek | rrot: 05ea828 | plobsing++ | src/pmc/imccompiler.pmc: headerizer flags for IMCCCompiler |
||
| rrot: 5ebd3eb | plobsing++ | / (2 files): this function handles NULLs just fine thankyouverymuch |
|||
| soh_cah_toa | alright. still not aware of all the different make targets yet | 23:21 | |
| whiteknight | soh_cah_toa: I recommend you set up an alias for "make -j5" or some reasonable number to run a parallel build | 23:22 | |
| the number of cores your process has plus 1 or 2 is a good start | 23:23 | ||
| plobsing | most of the build isn't CPU-bound. the exception is anything that uses NQP. | 23:25 | |
| it would be nice to be able to run 'make -j10 except only 2 nqps at a time' | |||
| soh_cah_toa | okay thanks | 23:26 | |
| whiteknight | you're going to want to learn this process very very well | 23:31 | |
| soh_cah_toa | yeah? alright | 23:32 | |
|
23:33
kid51 is now known as kid51_at_dinner
|
|||
| whiteknight | we've also got some tricks to make the tests run faster | 23:35 | |
| soh_cah_toa | do tell | 23:38 | |
| whiteknight | "make -j5 coretest TEST_JOBS=5" | ||
| I alias my configure settings to "pc", the make incantation to "mj", and the test incantation to "pt" | 23:39 | ||
| so I can usually type "pc && mj && pt coretest" | |||
| soh_cah_toa | nice, pretty neat | 23:40 | |
| cotto_work | alias is your friend | 23:46 | |
| soh_cah_toa | oh yeah, i use alias a lot | ||
| plobsing | realias makes alias even better | 23:47 | |
| www.modernperlbooks.com/mt/2009/10/...tions.html | |||
| soh_cah_toa | ah, pretty clever | 23:49 | |
| whiteknight | I haven't seen hide nor hair from chromatic in quite a while | 23:50 | |
| seen chromatic? | |||
| aloha | chromatic was last seen in #parrot 59 days 5 hours ago saying "All of the core tests did pass for me, FWIW.". | ||
| whiteknight | blah, I didn't realize my ubuntu VM was completely unconfigured | 23:58 | |
| so now I've got to spend time doing that | |||
| cotto_work | whiteknight: apparently he's had a lot of contract work lately. He's been blogging about Java, which I assume he wouldn't be using if he wasn't being paid. ;] | 23:59 | |