|
Parrot 2.10.1 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Long live Git! github.com/parrot/parrot | git clone git://github.com/parrot/parrot.git | Please test rakudo with bleeding edge parrot! Set by moderator on 28 November 2010. |
|||
| fbrito | whiteknight: done :) | 00:00 | |
| whiteknight | ...and closed | ||
| congrats | 00:01 | ||
| cotto_work | fbrito: good job so far. You're just a point away from first place. | 00:02 | |
| cotto_work wonders what the scores will look like in a month | 00:03 | ||
| We're definitely going to need more tasks. | |||
| fbrito | 388 tasks so far | 00:05 | |
| (completed tasks) | |||
| by 209 students | |||
| in 9 days :o | 00:06 | ||
| bluescreen | thats impressive | 00:08 | |
| fbrito | wow! an average of 43,1 tasks/day | ||
| and 1,89 points/task | |||
|
00:10
theory left
|
|||
| whiteknight | dukeleto: ping | 00:10 | |
| davidfetter | mmm...minion^Wstudents | 00:11 | |
| dukeleto | whiteknight: pong | 00:14 | |
| whiteknight | dukeleto: I was on my local embed_api branch and did a git rebase master. The results suck and I want to undo it | 00:15 | |
| any way to get back to how it was before the rebase without deleting and cloning? | |||
| dukeleto | whiteknight: git rebase --abort ? | ||
| whiteknight | No rebase in progress? | ||
| (I'm already done rebasing) | 00:16 | ||
| at the end I am viewing the wreckage. Plus, it changes all the history which is not good | |||
| can I delete that branch, and then pull it in again from origin? | 00:17 | ||
| dukeleto | whiteknight: that is one way | 00:18 | |
| whiteknight: you don't care about the current state of the branch? | |||
| whiteknight | no | ||
| dukeleto | whiteknight: make sure you have no uncommitted files in your repo that you care about | ||
| whiteknight | all the info is on origin, I just want to get back to there | ||
| ok | |||
| dukeleto | whiteknight: do you know the sha1 of the last commit that you want? | 00:19 | |
| whiteknight | I can find it | ||
| dukeleto | whiteknight: look at the output of "git log" | ||
| whiteknight: when you have that, you can do "git reset --hard $sha1" | |||
| whiteknight: but another way is to delete the branch, then do a "git fetch && git checkout -b my_branch origin/my_branch" | 00:20 | ||
| whiteknight: if you can't find the commit you want, then the 2nd way is better | |||
| dukeleto has a numb face from the dentist and will most probably pass out soon | 00:21 | ||
| whiteknight | blah, everything is weird. It's telling me now that the master branch is 467 commits divergent from origin. I'm just deleting the repo and re-cloning | 00:22 | |
| davidfetter | mmm...lidocaine :d | 00:23 | |
| hope your teeth are better now, dukeleto :) | |||
| dukeleto | whiteknight: you rebased master or you rebased embed_api ? | 00:24 | |
| whiteknight | I rebased embed_api | ||
| at least, I thought i did | |||
| dukeleto | whiteknight: not knowing everything you did makes it hard to tell you what to do | ||
| whiteknight | who knows at this point. It's all deleted | ||
| dukeleto | whiteknight: learning is fun! | 00:25 | |
| whiteknight | I was on the embed_api branch, and I did a git rebase master | ||
| then the universe fell off it's axis and I deleted things | |||
| dukeleto | whiteknight: that rebased embed_api onto master, which probably freaked out. Did you fix a bunch of merge conflicts? | ||
| whiteknight: anyway, i guess it doesn't matter | 00:26 | ||
| davidfetter: meh | |||
| whiteknight | dukeleto: yes, lots of conflicts | ||
| dukeleto | whiteknight: yeah, rebase isn't a good idea if you expect conflicts, because you will get conflicts for every commit. A merge will only give you conflicts once. | 00:29 | |
| whiteknight: i like your email about the dep policy, and I agree, DEPRECATED.pod used to be enough, but now it isn't. | |||
| whiteknight: i was thinking that we need programmatic access to deprecation info. | |||
| whiteknight: we need to store deprecations in a YAML/JSON/whatever file, so we can automate various things, and write tools that understand deprecations | 00:30 | ||
| whiteknight: instead of the current process, where an actual human has to do a lot of work for every deprecation | |||
| fbrito | (top 5 GCI students have 130 points. bottom 100 have 131 points: img828.imageshack.us/img828/2369/gr...thday.png) | 00:33 | |
|
00:35
Andy left
|
|||
| dukeleto | fbrito: there is quite a spectrum of students | 00:40 | |
| fbrito: where did that graph come from? | |||
| fbrito | there is a button "CSV Export" on the rank page | 00:41 | |
|
00:44
hercynium left
|
|||
| whiteknight | incoming | 00:48 | |
| dalek | rrot/embed_api2: 557e85c | Whiteknight++ | / (37 files): Fix conflicts in merge. Untested |
||
| whiteknight | oh. Maybe not | 00:49 | |
| now I have to see if this hog builds | |||
| cotto_work | has anyone read the context threading paper? | 00:52 | |
| whiteknight | Me!! | 01:04 | |
| cotto_work | whiteknight: is the basic idea easy to summarize? It's on my list for tonight. | 01:05 | |
| whiteknight | yes, hold on | ||
|
01:08
bluescreen left
|
|||
| whiteknight | cotto_work: the idea is that you can generate some machine code (like a mini-JIT) to call opcodes in a row, instead of calling them in a loop through function pointers like we do in the fast core | 01:09 | |
| basically, you cut opcode dispatch down to nothing, align the VM program counter with the hardware IP register, and go easy on the branch predictor | |||
| dngor | Unrolling the dispatch loop for basic blocks? | 01:10 | |
| cotto_work | whiteknight: thanks | ||
| whiteknight | cotto_work: it all will make sense when you read the paper | ||
| cotto_work | it makes sense now, mostly | 01:11 | |
| fbrito | wow, that must be some pretty advanced stuff | 01:12 | |
| whiteknight | fbrito: that's just the tip of the iceburg | ||
| fbrito | now I have to quote you. "I don't know what any of those words mean, but WE MUST HAVE IT" | 01:13 | |
| whiteknight | :) | ||
| dngor: it would be the runcore, so you do it for all blocks. Plus, you can cache for individual blocks so hotspots don't need to be re-compiled | 01:14 | ||
|
01:19
bluescreen joined
|
|||
| whiteknight | bluescreen: ping | 01:20 | |
| bluescreen | whiteknight: pong | 01:23 | |
| hi | |||
| whiteknight | bluescreen: I created the new embed_api2 branch, and used it to bring the embedding work up to date with trunk | 01:24 | |
| bluescreen | greap | ||
| whiteknight | it's a little bit of a mess. I have it building on my machine, but fails with some weird errors | ||
| bluescreen | great | ||
| whiteknight | I think some of the recent string encoding changes in master are causing weirdness | ||
| bluescreen | I was about to implement missing features like Parrot_api_load_language | ||
| and test cases | |||
| whiteknight | nice | ||
| bluescreen | should i jump to the new branch, then? | 01:25 | |
| whiteknight | Yes, I think so. I'm going to try to get it fixed so you can keep working on what you want to do | ||
| bluescreen | ok | ||
| cotto_work goes home | 01:36 | ||
| whiteknight | how do I create a binary-encoded STRING? | 01:38 | |
| davidfetter | it's a DPG thang | 01:48 | |
| BCD* | |||
| dalek | rrot/embed_api2: ae620cc | Whiteknight++ | src/ (3 files): changes necessary so we build. Run fails horribly, but we build |
01:51 | |
| rrot/embed_api2: 8b92734 | Whiteknight++ | src/embed/pmc.c: we have to specify that the fpmc bytes are a binary string, otherwise defaults to ASCII |
|||
|
01:53
kid51 joined
|
|||
| whiteknight | okay, I think I have it working again | 02:01 | |
| cotto | ~~ | 02:02 | |
| whiteknight | welcome back cotto. I missed you | ||
|
02:03
dmalcolm left
|
|||
| cotto | I missed me too. | 02:05 | |
|
02:06
dip left
|
|||
| dalek | rrot/embed_api2: b50f1fc | Whiteknight++ | tools/dev/pbc_to_exe.pir: fix pbc_to_exe so we build and pass all tests again |
02:11 | |
| whiteknight | bluescreen: all tests pass again. You can get back to work on the new embed_api2 branch | ||
| bluescreen | thanks whiteknight++ | 02:13 | |
|
02:14
TypeNameHere_____ left
|
|||
| kid51 | Are there any branches which would benefit from my running 'make test' over the coming weekend? | 02:19 | |
|
02:23
davidfetter left,
frodwith left
02:35
preflex left
|
|||
| whiteknight | kid51: embed_api2 | 02:36 | |
|
02:37
preflex joined
|
|||
| whiteknight | time for bed! | 02:43 | |
|
02:43
whiteknight left
02:51
plobsing joined
02:54
theory joined
|
|||
| dalek | rrot/tt532_headerizer_refactor: dd3c6c9 | jkeenan++ | / (3 files): Refactor more code into testable subroutines, place them into Functions.pm, test them in 01_functions.t. |
03:08 | |
|
03:21
preflex left
|
|||
| kid51 | msg whiteknight smolder.parrot.org/app/projects/rep...tails/1464 successful smoke of embed_api2 on linux/i386 | 03:22 | |
| aloha | OK. I'll deliver the message. | ||
|
03:25
preflex joined
|
|||
| cotto | dukeleto, ping | 03:32 | |
|
03:39
kid51 left
04:12
preflex left
04:14
preflex joined
|
|||
| fbrito | seen moritz | 04:21 | |
| aloha | moritz was last seen in #parrot 9 hours 37 mins ago saying "plenty of time to next release". | ||
|
04:36
preflex left
04:40
preflex joined
|
|||
| fbrito | hm, I didn't find any task related to Ruby on GCI | 04:41 | |
|
04:42
bluescreen left
|
|||
| cotto | That's surprising. | 04:54 | |
| fbrito | maybe because of the Ruby Summer of Code | 04:55 | |
| cotto | quite possibly | 05:05 | |
|
05:05
zby_ joined
05:06
zby__ left
05:21
PerlPilot joined
05:25
PerlJam left
05:26
PerlJam joined
05:27
PerlPilot left
05:36
zby_ left,
zby__ joined
06:15
theory left
|
|||
| dukeleto | cotto: pong | 06:27 | |
| fbrito: i was going to make a gci task for cardinal, but i went to the dentist instead | |||
| cotto | dukeleto, what would be the drawbacks of requiring perl 5.10 or 5.12 other than that older OSs would need an upgraded version? | 06:28 | |
| fbrito | and? found any dental caries? :P | ||
| cotto | fbrito, one look at the wikipedia article on caries is enough to make me want to get up and brush and floss for a good 10 minutes. | 06:29 | |
| fbrito | good thing that next year my sister will finish her school of dentistry :) | 06:32 | |
| they are usually so expensive | |||
| (ok, my english sucks. next year my sister will finish her studies on dentistry) | 06:33 | ||
| plobsing | oh. I thought she was building a dental school. those are quite expensive ;) | 06:34 | |
|
06:36
jhelwig left
|
|||
| fbrito | ahhaa, that's why I rewrote the sentence :P | 06:36 | |
| cotto | We don't mind if English is your fourth language. | 06:38 | |
| fbrito | I fix her computer and she fixes my teeth. seems like a good deal | ||
| cotto | or second | ||
| fbrito | I would say second :) | ||
| then, german, and maybe spanish (maybe) | 06:39 | ||
| dukeleto | cotto: i am still thinking :) | 06:41 | |
| cotto | dukeleto, think on then. I'd hate to rush into such a decision. | ||
| dukeleto | cotto: we should see which version various linux distros use. Does anyone actually ship 5.8.x still ? | 06:42 | |
| cotto | no idea | ||
| dukeleto | cotto: i think debian stable recently went to 5.10 | ||
| sorear | fbrito: there is a running joke here that English is bacek's fourth language, after Russian, Rude Russian, and Very Rude Russian | ||
| opbots names | |||
| dukeleto | cotto: do we expect people to be able to compile a new perl to hack on parrot ? do we want that? | 06:43 | |
| cotto | dukeleto, no. As J Random Hacker, I wouldn't bother if I had to find a non-distro perl just to play with Parrot. | ||
| fbrito | sorear: ahahha, good to know. | 06:44 | |
| cotto | what does RTEMS use? | ||
| debian stable going to 5.10 sounds promising | 06:46 | ||
| NotFound | fbrito: my motto is: Instead of worrying about bad translations to english, I write bad english myself. | 06:51 | |
| cotto | if it's bad enough, someone will feel obligated to fix it | 06:52 | |
| fbrito | ok, time to go to bed | 06:57 | |
| cotto | fbrito, 'night | ||
| dukeleto | cotto: what does RTEMS use for what? | 06:58 | |
| fbrito | what time is it in the places where you guys live? | ||
| cotto | dukeleto, for their build environment | ||
| plobsing | clock? | ||
| cotto is on US Pacific coast | |||
| dukeleto | aloha, clock? | ||
| NotFound | fbrito: 7:58 in Spain | ||
| aloha | dukeleto: dukeleto: LAX: Wed, 22:58 PST / CHI: Thu, 00:58 CST / NYC: Thu, 01:58 EST / UTC: Thu, 06:58 UTC / LON: Thu, 06:58 GMT / BER: Thu, 07:58 CET / TOK: Thu, 15:58 JST / SYD: Thu, 17:58 EST | ||
| cotto | 2300-ish | ||
| plobsing | 2h00 | ||
| dukeleto | it is 11pm where I am (PST) | ||
| cotto: RTEMS mostly depends on the gcc toolchain, so it would be whatever gcc requires, which is probably something very ancient | 06:59 | ||
| fbrito | 4am here :o | ||
| NotFound | It's always a good time in Parrot world. | ||
| dukeleto | cotto: why do you want to upgrade our perl deps? Because of Pod::Simple ? | ||
| fbrito: do you have tasks to work on? | |||
| cotto | dukeleto, I'm just thinking through what the tradeoffs would be. | ||
| dukeleto | cotto: do you know what version the current strawberry perl is? | 07:00 | |
| cotto | dropping code from our repo is nice, but not if we lose something more valuable by doing so | ||
| dukeleto, 5.12 and 5.10 are available | 07:01 | ||
| fbrito | dukeleto: I am waiting moritz approve my claim request here: www.google-melange.com/gci/task/sho...9079857380 | ||
| dukeleto | fbrito: now you have it :) | 07:02 | |
| NotFound | I'm starting to think that supporting more than 10 years old C compilers but requiring less than 5 years perl does not make any sense. | ||
| fbrito | oh, didn't know you could also do that. thank you :) | ||
| dukeleto | cotto: i think we lose a lot by requiring a newer Perl. We lose a lot of new people trying Parrot, because they don't want to compile or install their own perl | 07:03 | |
| cotto: of course, I wish everyone was using perl 5.12 already. | |||
| cotto | dukeleto, how common is 5.8.x? | ||
| dukeleto | cotto: it is basically the de-facto ancient perl on most servers | ||
| cotto: if something has perl installed, it is probably 5.8.x. Some people still run 5.6.x, but they deserve what they get. | 07:04 | ||
| cotto | In that case I'm inclined to stick with it, especially since we're not in any sort of pain by the requirement. | ||
| thanks for the brain picking | |||
| dukeleto | cotto: i would vote to keep our dep at 5.8.4 or whatever it is, and include whatever CPAN modules we need. | ||
| cotto: it is very easy to include CPAN modules. It is not so easy to figure out why people aren't trying Parrot. | 07:05 | ||
| NotFound | I'll suggest reviewing if the parts that can benefit most from recent perl may be rewritten with parrot tools. | ||
| cotto | NotFound, you mean the ones that will be orders of magnitude slower? ;) | 07:06 | |
| dukeleto | I would actually like to get rid of some of our deps, such as those required for "make smoke" | ||
| NotFound | cotto: I don't care about of order of magnitude if they are between nanoseconds and centiseconds. | 07:07 | |
| cotto | NotFound, try running opsc --core sometime | ||
| plobsing | cotto: that's just an argument for reducing the number of ops in the core library ;) | 07:08 | |
| NotFound | Maybe you should rewrite it in winxed ;) | ||
| cotto | I'm glad it's self-hosted and the code is way nicer to deal with (and can now be extended in ways the previous code couldn't), but you can't call it faster. | ||
| seen coke | 07:09 | ||
| aloha | coke was last seen in #parrot 9 hours 28 mins ago saying "I assume it was to have consistent 3 letter names for the subsystem. -1 from me.". | ||
| fbrito | seen moritz | 07:11 | |
| aloha | moritz was last seen in #parrot 12 hours 27 mins ago saying "plenty of time to next release". | ||
| cotto | dukeleto, what kind of gymnastics are required to bundle a module that's also in core and dtrt? | 07:12 | |
| NotFound | About the cpan modules thing, is not so easy for people not used to perl. It took me a while to figure how to get all modules updated about 3 years ago. | ||
| For example, recent harness requiring a recent harness before installing %-) | 07:13 | ||
| dukeleto | NotFound: we can probably downgrade our harness requirement when we deal with "make smoke" deps. That is what required the newer Test::Harness | 07:16 | |
| cotto: i don't think there is anything different. It doesn't matter that we bundle a CPAN module that is also in core | 07:17 | ||
| cotto: we can tell our code to use our version of Pod::Simple, not the version on a users system | |||
| cotto | dukeleto, that's what I suspected, especially since we haven't heard any reports of goofiness with 5.12 | 07:18 | |
| dukeleto | cotto: all we do is set our local perl lib/ dir to be before all core directories | ||
| cotto: which is what we do already | |||
| cotto | easy peasy | 07:19 | |
| NotFound | Why is Pod a problem? We need to parse pod to build parrot? | 07:24 | |
|
07:30
fbrito left
|
|||
| cotto | bacek_at_work, ping | 07:32 | |
| msg bacek_at_work What'd be the consequences for the current gc (gc_ms) of removing constant PMCs? | 07:35 | ||
| aloha | OK. I'll deliver the message. | ||
| dalek | tracwiki: v30 | cotto++ | CottoTasklist | 07:37 | |
| tracwiki: stupid todo list never seems to get smaller | |||
| tracwiki: trac.parrot.org/parrot/wiki/CottoTa...ction=diff | |||
| moritz | aloha: msg fbrito just go ahead and ask your question | 07:44 | |
| aloha | moritz: OK. I'll deliver the message. | ||
| bacek_at_work | cotto, current gc is gc_ms2 :) | 08:00 | |
| cotto | ok | 08:01 | |
| what would removing the constant flag mean for the current code? | 08:04 | ||
| bacek_at_work | basically - we have to call Parrot_gc_register_pmc for "constant" pmc in gc_ms2_allocate_pmc_header for deprecation cycle | 08:06 | |
| during cycle we can check all places in core when pmc_new_constant called and ensure that allocated pmcs are properly marked with gc_registery hack | 08:07 | ||
| after - just rip off pmc_new_constant and PObj_constant_FLAG | |||
| dukeleto | NotFound: it is part of the building of our documentation | ||
| bacek_at_work | 2. During cycle we can cleanup gc_ms2 guts to remove special handling for constant pmcs. They will be marked through registry anyway | 08:08 | |
| cotto | bacek_at_work, why would that require a deprecation cycle? Isn't it an internal-only change? | 08:09 | |
| bacek_at_work | ripping off of pmc_new_constant requires deprecation cycle. | ||
| NotFound | dukeleto: building the documentation is not a fundamental part for someone wanting to give parrot a try. They can use docs.parrot.ord/ | 08:10 | |
| org | |||
| cotto | Ah. Well, we have one of those coming up soon. | 08:11 | |
| bacek_at_work | cotto, yes. That's why I want to put it now :) | 08:12 | |
| dukeleto | NotFound: i hear ya. it is something to think about | ||
| NotFound | If the only change will be to ignore the constant flag, you can just dispatch pmc_new_constant to pmc_new | ||
| bacek_at_work | NotFound, no. To preserve "semantic" of keeping these objects alive we have to register them in gc_registery in pmc_new_constant. | 08:13 | |
| but it's purely internal changes, yes. | 08:14 | ||
| NotFound | bacek_at_work: then do that during the deprecation cycle. | ||
| bacek_at_work | We can do it now, actually. | 08:15 | |
| Then remove pmc_new_constant after deprecation cycle. | |||
| NotFound | I know. I mean, don't kill it until the end of the cycle ;) | ||
| bacek_at_work | Ah, ok :) | ||
| NotFound | If we do things that way, the final killing should be fairly easy, and even can be temporarily reverted if some important reason appears. | 08:22 | |
| In general, not just in this case. | 08:23 | ||
| bacek_at_work | NotFound, agreed | 08:24 | |
| anyway | |||
| time to go home | |||
| see you soon | |||
| cotto | proposal: negating a Boolean doesn't make sense | ||
| NotFound | cotto: what do you mean? Make Booleans immutable? | 08:26 | |
| plobsing | True + (-True) = False ? | ||
| cotto | no, just that it's not something that applies to Booleans | ||
| sorear | True + (-True) = 0 in Perl 6 | 08:27 | |
| NotFound | I don't not fail to understand ;) | ||
| cotto | sorear, by design? | ||
| sorear | cotto: yes. enums degenerate to numbers when provoked | 08:28 | |
| cotto | ok | ||
| plobsing | but in this case perl 6 is coercing to non-bool types before the operations occur. or to perform the operations (is there a difference?) | 08:29 | |
| NotFound | Ah, you mean unary minus, not logical negation? | 08:30 | |
| cotto | NotFound, yes | ||
| NotFound sees the light | 08:31 | ||
| cotto | sorry for the ambiguity | ||
| NotFound | Must go now. Later. | 08:33 | |
| cotto | bye | ||
|
08:46
fperrad joined
|
|||
| cotto | msg dukeleto trac.parrot.org/parrot/ticket/1682 (remove unused substr VTABLE function) would make a good gci task. | 09:02 | |
| aloha | OK. I'll deliver the message. | ||
| dalek | a: ffd1d8a | fperrad++ | lua (2 files): now, binary encoding needed |
09:03 | |
|
09:08
bacek joined
|
|||
| cotto sleeps | 09:14 | ||
|
09:43
dip joined
|
|||
| dalek | rrot/generational_gc: d8eee3e | bacek++ | src/io/buffer.c: Properly fix merge conflict. Previous workaround isn't applicable anymore. |
10:05 | |
|
10:44
luben left
12:03
dip left
12:04
dip joined
12:54
lucian joined
13:16
cotto left
13:33
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 13:35 | |
| Coke perlbrews 5.8.4 to test our min requirement. | |||
| whiteknight | msg bluescreen I have a commit ready (not pushed) that refactors PDB_backtrace and die_from_exception. die_from_exception no longer calls Parrot_exit. Parrot_api_get_result now returns the last unhandled exception object. All very cool stuff | 13:36 | |
| aloha | OK. I'll deliver the message. | ||
| Coke | I cannot install perl5.8.4 via perlbrew. | 13:37 | |
| Coke rolls his eyes. | |||
| whiteknight | how old is perl 5.8.4? | 13:39 | |
| whiteknight knows very little about perl | |||
| moritz | Coke: what error do you get? | ||
|
13:39
frodwith joined
|
|||
| nopaste | "coke" at 192.168.1.3 pasted "last page of build log" (20 lines) at nopaste.snit.ch/26375 | 13:40 | |
| Coke finds www.nntp.perl.org/group/perl.perl5....33873.html | 13:41 | ||
| which says "just edit the makefile by hand, doofus! | |||
| moritz | ugh | ||
| Coke realizes that he has no vested interest in making this work on 5.8.4 anyway, so just stops working on this ticket. | 13:42 | ||
|
13:42
Psyche^ joined,
Patterner left,
Psyche^ is now known as Patterner
|
|||
| Coke | easy peasy! | 13:42 | |
| whiteknight | Parrot's documentation should call the user a doofus more often. Apparently it's what the other VMs are doing | ||
| Coke | whiteknight: that email is from Andy D. , and he didn't actually call anyone a doofus. I was editorializing. | 13:43 | |
| whiteknight | Coke: I know :) | 13:48 | |
|
14:20
dmalcolm joined
|
|||
| atrodo | More software should be honest and call its users doofus | 14:32 | |
|
14:51
allison joined
14:54
lucian left
|
|||
| Coke | aloha, allison. | 15:10 | |
| allison | Coke, hi | 15:24 | |
|
15:27
JimmyZ joined,
plobsing left
15:47
fperrad left
15:50
fperrad joined
|
|||
| NotFound | whiteknight: ping | 15:57 | |
| whiteknight | NotFound: pong | 15:58 | |
| NotFound | whiteknight: possible task for GCI: add suppor for chunked transfer to LWP;Protocols | 15:59 | |
| I mean, Protocol | |||
| moritz | didn't fperrad implement that? | ||
| NotFound | moritz: I tested just this morning and still fails, chunk lenghts gets mixed with the content. | 16:00 | |
| moritz | NotFound: then youre knowledge is much fresher than mine :-) | 16:01 | |
| NotFound | That Is a shame, disallows lot of possible parrot real world usages. | ||
| whiteknight | NotFound: how hard is it to do? | 16:02 | |
| these are students, and I don't know much about it myself | |||
| moritz | and it's written in PIR :( | 16:03 | |
| NotFound | whiteknight: the work by itseld should not be complicated, but is PIR with a lot of labels. | ||
| The task of de-chunking, I've done it with even with my 80' style basic interprter. | 16:04 | ||
| Now that I think about it, there is a simple way to do it. Instead of doing it during load, wait for the end of the transfer and then dechunk. | 16:07 | ||
| Not fast, but we can always improve later. | |||
| Having it working is usefule enough, even if slow. | 16:08 | ||
|
16:09
hercynium joined
|
|||
| whiteknight | okay | 16:21 | |
| if you can write up a task description, I will post it | |||
| NotFound | I'm going to add a test/demonstration to a version of winxed examples/ajax.winxed, will be easier to me that writing a detailed description. | 16:25 | |
| whiteknight | NotFound: if you have any ideas for Winxed projects that students can do, I will add them too | ||
| I've been adding PLA projects that I think of | 16:26 | ||
| NotFound: you said Winxed supports closures? | 16:27 | ||
| NotFound | whiteknight: at the current point, just allow to use it for examples, tests ot whatever is enough. | ||
| whiteknight: yes | |||
| whiteknight | NotFound: have you ever written a Y-combinator in Winxed? | ||
| NotFound | Same syntax as anonymous functions in javascript. | ||
| whiteknight | Or done the Man-Boy test in it? | ||
| (both of those might make very cool projects) | 16:28 | ||
| moritz | and are nice stress tests for closure implementations | ||
| NotFound | whiteknight: good idea, I don't like writing that type of things. | 16:29 | |
| whiteknight | Okay, I think I am going to add both those two as tasks in GCI. The student can write out a Y-combinator and a Man-Boy test implementation in Winxed to see if it passes both | 16:30 | |
| Coke ponders slipping in some partcl tasks. | |||
| moritz | "fix partcl to compile on parrot HEAD" :-) | ||
| Coke thought it did that, at least. | |||
| Coke sighs. | 16:31 | ||
| moritz wasn't serious | 16:32 | ||
| Coke | ah. it was certainly plausible that you were. ;) | 16:33 | |
| moritz | sorry if it wasn't clear | ||
|
16:36
JimmyZ left
|
|||
| Coke | yah, it still mostly works. :| | 16:39 | |
| mikehh | Coke: haven't tested that for a while - partck or partcl-nqp or both? | 16:43 | |
| partcl | |||
| Coke | they won't work out of the box. | ||
| I don't think. | |||
| haven't incorporated the git-fix, and there are test failures in both due to parrot borkages. | |||
|
16:51
theory joined
|
|||
| whiteknight | "Parrot undocumented features" | 16:54 | |
|
16:55
fbrito joined
16:56
cotto joined
|
|||
| cotto | ~~ | 16:59 | |
| atrodo | I was about to say "morning cotto", but that's a lie to me now | 17:00 | |
| nopaste | "NotFound" at 192.168.1.3 pasted "winxed ajax example with chunked transfer decoding added" (186 lines) at nopaste.snit.ch/26378 | 17:01 | |
| NotFound | Here is. Do you think is clear enough for students? | 17:02 | |
| whiteknight | let me look | 17:05 | |
| hello cotto | |||
|
17:05
theory left
|
|||
| whiteknight | NotFound: does that follow the algorithm in LWP code? | 17:07 | |
| NotFound | whiteknight: the task is add that algotithm to LWP. | ||
| whiteknight | okay, if the student reads this, will they be able to find the code in LWP to change? | ||
| NotFound | whiteknight: I'll wite a description now. The code is the complement. | 17:08 | |
| whiteknight | okay | ||
| nopaste | "NotFound" at 192.168.1.3 pasted "chunked encoding task description" (11 lines) at nopaste.snit.ch/26379 | 17:15 | |
|
17:32
PacoLinux left
17:33
PacoLinux joined
|
|||
| whiteknight | NotFound: I'll read that in a minute | 17:37 | |
| NotFound | whiteknight: no urgence | 17:38 | |
| cotto_work | when creating a new gci task, should we use melange's form? | ||
| whiteknight | cotto_work: If you're a mentor, yes | 17:39 | |
| you can prototype it elsewhere and paste it in if you want | 17:40 | ||
| cotto_work | wfm | 17:44 | |
| whiteknight | NotFound: you say you want the implemented chunked receive, but the code example you have now has a "Send" method | 17:45 | |
| Do you want send or receive implemented? | |||
| NotFound | whiteknight: send is XMLHttpRequest jargon for making a request. | 17:48 | |
| These javascript guys makes such a nice method names... | 17:49 | ||
| whiteknight | ok | 17:50 | |
| NotFound | The idea is that you "open" a request, and then send it to the server. | ||
| whiteknight | gotcha. My memories of javascript are coming back to me | 17:51 | |
| NotFound | In asynchronous mode makes more sense. This is only synchronous, so you receive during send X-) | 17:52 | |
|
17:55
jhelwig joined
|
|||
| NotFound | The idea of that example is to be able to quickly adapt javascript http code to winxed. | 17:56 | |
| whiteknight | nice | 17:59 | |
| The more I think about it, the more I want a JavaScript compiler and the more I want it to be written in Winxed | 18:00 | ||
| that would be wonderful | |||
| NotFound | I also think about that, but time is limited. | ||
| dukeleto | howdy | 18:01 | |
|
18:03
[hercynium] joined
18:07
hercynium left,
[hercynium] is now known as hercynium
|
|||
| cotto_work | dukeleto: ignore my msg if you don't have tuits. I'll plan on making a gci task out of that ticket tonight. | 18:12 | |
| dukeleto | cotto_work: works for me | 18:14 | |
|
18:19
lucian joined,
ilbot2 joined
|
|||
| moderator | Parrot 2.10.1 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Long live Git! github.com/parrot/parrot | git clone git://github.com/parrot/parrot.git | Please test rakudo with bleeding edge parrot! | ||
|
moritz left
|
|||
| whiteknight | NotFound: I added that task to GCI | 18:31 | |
| I've added 5 tasks today so far, need more | 18:33 | ||
| NotFound | whiteknight: good! If some student pick it, I'll build a temple to the google gods. | ||
| whiteknight | NotFound: the Google god temple looks exactly like a JavaScript compiler written in Winxed :) | 18:34 | |
| NotFound | Nice try. | ||
|
18:39
preflex left
18:44
preflex joined,
moritz joined
|
|||
| lucian | whiteknight: there are javascript compilers written in javascript | 18:52 | |
| whiteknight: several, in fact | |||
| whiteknight | lucian: if we had a way to run javascript on Parrot, that would work | ||
| lucian | whiteknight: you could bootstrap with an existing javascript runtime | 18:53 | |
| generate PIR from the javascript AST | |||
| NotFound | lucian: targeting what? | ||
| whiteknight | that's actually not a bad idea, really | 18:54 | |
| lucian: any projects in particular you think are the best to work with? | |||
| lucian | whiteknight: jison is bison for js | ||
| whiteknight: and there's a project called cafe. in a sec i'll find the links | 18:55 | ||
| whiteknight: github.com/zaach/jison | |||
| github.com/zaach/cafe | |||
| NotFound | There are also java compilers targeting javascript, and other languages, so if we get a javascript compiler we also have several more languages for free. | ||
| lucian | NotFound: but they'll all kinda suck | 18:56 | |
| NotFound: i agree it might be useful for bootstrapping said languages, but GWT is anything but nice | |||
| (speaking about the generated JS) | |||
| whiteknight | First off, I really like this jison | 18:57 | |
| We could easily use that to bootstrap a javascript compiler. All we need is the code generation backend | |||
| NotFound | lucian: hey, is a free offer, don't be too exigent ;) | ||
| lucian | NotFound: true :) | ||
| whiteknight | Second, the source to jison is *much* easier to read and understand than bison is | 18:58 | |
| lucian | whiteknight: yep. and cafe is just that, a javascript parser generated by jison | ||
| atrodo | bison is magic by all accounts | ||
| lucian | whiteknight: that too, yes | ||
| whiteknight: in fact, there might be a way to transform the javascript AST to PAST | |||
| whiteknight | I really really want an LALR parser generator for Parrot. I may try to adapt jison for winxed soon, I think | ||
| lucian: Good idea, then we can use PAST optimizations, if that branch ever merges | 18:59 | ||
| lucian | whiteknight: all this is coming from me thinking of reusing PyPy's python compiler to replace pynie :) | ||
| atrodo | whiteknight> Which one is LALR again? I can never remember which, similar looking compiler acronym is which | 19:00 | |
| lucian | whiteknight: but my description is much too hand-wavy, i fear this approach will never cover corner cases | ||
| NotFound | I like the idea of writing the grammar in json. | ||
| lucian | NotFound: yep, very lispy | ||
| whiteknight | atrodo: LALR is like bison, it "compiles" the grammar down into a table of shift/reduce rules | ||
| you add in the extra compile step (compared to recursive decent), but you end up with a faster table-based parser | 19:01 | ||
| of course, once in table form, there's absolutely no way to read or understand it | |||
| atrodo | Right, the bottom up compilers. I always thought that was brilliant once I figured out what was going on | 19:02 | |
| lucian | atrodo: i still treat it as magic. i should find some time to understand it | 19:03 | |
| atrodo | lucian> That's okay. Everytime I remeber how it works and think it's brilliant, it's only a couple days before I consider it magic again | ||
| NotFound | One of the beauties of hand coded recursive descent is that people is able to understand the code without reading a lot of formal langauges theory. | 19:04 | |
| (and without reading the bison manual) | |||
| lucian | NotFound: and I still don't understand how I'd do good parse errors with a bottom up parser | ||
| NotFound | LALR is bottom up? | 19:06 | |
| Tene | lucian: just don't parse incorrect documents, obviously. :P | ||
|
19:07
theory joined
|
|||
| lucian | Tene: heh | 19:07 | |
| atrodo | NotFound> Thats what whiteknight and wikipedia tells me | ||
| whiteknight | LALR is bottom-up | 19:08 | |
| lucian | atrodo: yep, i also trust wikipedia and whitenight | ||
| (they both start with "w") | |||
| tadzik | white night :) | ||
| atrodo | lucian> can't argue with that logiv | ||
| err, logic | |||
| whiteknight | basically an optimization on LR(1). Recursive descent is LL(1), I think | ||
| dukeleto | jison looks pretty darn cool. | 19:09 | |
| NotFound | See? I haven't read enough theory, and still make languages ;) | ||
| lucian | NotFound: +1 | ||
| tadzik: i just noticed that | 19:10 | ||
| NotFound only likes dragon books when they have also fairies and elves | 19:11 | ||
| atrodo | NotFound> I was excited the day my boss brought in his dragon book for me to borrow. | ||
| dukeleto is amazed at the amount of parrot development happening nowadays | 19:13 | ||
| whiteknight | I'm wondering if we could use a DEPRECATED_ITEMS macro in the source? | 19:14 | |
| and then a "perl Configure.pl --no-deprecated" would define it to 0, so anything deprecated would disappear from the source | |||
| that would aid testing, by having alternatives on either side of an #ifdef and be able to turn them on or off with a configure option | 19:15 | ||
| NotFound | whiteknight: that will help to ensure that deprecated for renaming and the like already have alternative. | 19:16 | |
| whiteknight | Ah, better yet we have Configure.pl define DEPRECATED_CUTOFF as a timestamp. Today it would configure as 20101202, then we could do #if comparisons to determine if we passed a cutoff point. and raise warnings | 19:17 | |
| dukeleto | interesting | ||
| NotFound | Warning? No one read warnings, #error it! | 19:18 | |
| whiteknight | whatever. The important part is that we can use configure.pl to make things appear and disappear with a little macro magic | ||
| NotFound | Aye | 19:19 | |
| whiteknight | Want to see what the world looks like when all current deprecations come to fruition? Throw the switch and survey the damage | ||
| dukeleto | whiteknight: that could be quite useful for many people. | ||
| whiteknight | That way HLL devs could do side-by-side comparisons of interface changes | ||
| lucian | whiteknight: do you think it'll be possible to have deprecation window? | 19:22 | |
| whiteknight | lucian: that's a good question. If we use a date stamp, that only gets updated when we reconfigure. So if you never reconfigure your depecation cutoff never changes | 19:23 | |
| lucian | only deprecate things after being announced in one release, and where possible have both new and old working (with warnings for old) while old is being deprecated | ||
| from the ml I understood that parrot is changing too much now for something like that | |||
| whiteknight | when you configure, you would have the option to set a specific date, to turn the switch on everything (Date = 00000000) or don't show any deprecated items (date = 99999999) | 19:24 | |
| lucian | whiteknight: wouldn't release versions work better than dates? | ||
| whiteknight | so if you like how your parrot worked back on November 13, you do perl Configure.pl --deprecation-cutoff=20101113 | ||
| lucian | whiteknight: ah, i see. that'd be nice, in fact | ||
| whiteknight | you don't always know the release version, I don't think. You could be in some crazy fork somewhere | 19:25 | |
| lucian | but i still think released versions would be better than dates | ||
| whiteknight | maybe. I don't dislike that idea | ||
| lucian | whiteknight: if you're in some fork somewhere, then dates won't be useful either | ||
| what does the date mean? the state in github master at that date? | |||
| whiteknight | lucian: no. There would be a date-stamp added by Configure.pl at configure time | 19:26 | |
| lucian | if you're in a fork, that's not meaningful | ||
| whiteknight | has nothing to do with git at all | ||
| lucian | whiteknight: right | ||
| whiteknight | and we would have cutoff datestamps hardcoded in the source file. If the configure time is before the cutoff we show one set of code. After, we show another | ||
| lucian | whiteknight: it seems to me like that might be confusing | 19:27 | |
| whiteknight | #if CONFIGURE_TIME > TT_XXX_CUTOFF | 19:31 | |
| if we're after the cutoff we do one thing, before it we do something else | |||
| and with macros like that, we can have the ticket name right there in the conditional | 19:32 | ||
| dukeleto | NotFound: does winxed have a meta object protocol ? | 19:34 | |
| NotFound | dukeleto: plain and simple parrot Class | 19:35 | |
| whiteknight | dukeleto: I really think that what we need to do is talk to jnthn about either moving his into Parrot, or adapting it for our use | 19:38 | |
| dukeleto: I'm perfectly happy to do whatever adaptation work is required, of course | |||
| from what I've seen there are some Perl6-isms in that code, but the majority of it should be general enough for Parrot to use (and for other HLLs to use too) | |||
| dukeleto | whiteknight: i agree. i think the philosophical foundation of jnthn's MOP is what we should use as a baseline, and tweak as needed | 19:47 | |
| whiteknight | dukeleto: right. As I said, the P&W paper we have been looking at pretty heavily is already mirrored reasonably closely in jnthn's work | 19:48 | |
| dukeleto | whiteknight: i keep losing the link to that paper | 19:49 | |
| whiteknight | I go to scholar.google.com and search for Piumarta | ||
| Coke suggests putting it on the wiki. ;) | |||
| whiteknight | citeseerx.ist.psu.edu/viewdoc/downl...p;type=pdf | 19:50 | |
| Coke: Damnit! Enough of you and your logic | |||
| :) | |||
| that would only make sense, wouldn't it? | |||
| Coke | "you green blooded, inhuman---" | 19:55 | |
| whiteknight | I'm starting to worry that a bootstapped javascript compiler written in javascript will be a huge headache | 19:57 | |
| NotFound | whiteknight: why? | 19:58 | |
| whiteknight | there just aren't a whole lot of good command-line JS options available to get the party started in a portable way | ||
| NotFound | whiteknight: it doesn't need to be portable, just copy the generated pir to other platforms. | ||
| Just like the installable winxed does. | 19:59 | ||
| whiteknight | If Parrot changes, and the PIR is no longer valid, we will need to regenerate it. That means we need a JS interpreter available | ||
| NotFound | whiteknight: we'll have it: the one in the previous parrot. | 20:00 | |
| whiteknight | okay. I can be on board with that. To bootstap the first layer, the best environment I can find is Narwhal | ||
| I don't like Rhino | |||
| NotFound | Alternatively, write a C++ stage 0 ;) | 20:01 | |
| whiteknight | actually, Narwhal uses Rhino. So that's a bit of a waste | 20:03 | |
| NotFound | For extra dificult points: make it work with a brwoser jasvascript. | 20:04 | |
|
20:10
wesjdj joined
|
|||
| lucian | whiteknight: nodejs is nice | 20:16 | |
| NotFound: and that's not hard at all, in fact | |||
| whiteknight: take a look at how CoffeeScript does it | 20:18 | ||
| whiteknight | lucian: Maybe I don't understand what nodejs is. Is it a stand-alone CLI interpreter? | ||
| lucian | whiteknight: yep, that too | ||
| whiteknight | ok. | ||
| lucian | whiteknight: for example, it's the default CoffeeScript env | ||
| it's much faster than narwhal, too :) | |||
| PerlJam | narwhal can use v8 just like nodejs | 20:19 | |
| lucian | PerlJam: it can? didn't know | 20:20 | |
| anyway, for cli the Rhino startup time is very annoying | |||
| and both narwhal and nodejs implement a lot of CommonJS to be useful for this particular project | 20:21 | ||
| whiteknight | So we can use nodejs to bootstrap a JavaScript compiler. We write the parser in jison, can probably borrow much of the parser code from Zaach/Cafe, and implement a PIR code backend | 20:25 | |
| once we have a fakecutable that we can bootstrap, we ditch anything we don't need and self-host after that | 20:26 | ||
| lucian | whiteknight: exactly. just like C | 20:27 | |
| whiteknight | Although i think we are going to want to still be able to compile on other JS interpreters, to make sure we are staying true to the standard | ||
| lucian | whiteknight: since you don't need to discard any compiler, that shouldn't be a problem | 20:28 | |
| whiteknight | Now we come to the hardest part of the entire project | ||
| We need a fancy name for it | |||
| and anybody who recommends "ecmascript" is getting kick/banned from the channel | 20:29 | ||
| PerlJam | whiteknight: how about "livescript"? :) | ||
| NotFound | deadscript X-) | ||
| PerlJam | could call it "eich" after the guy who started it all | 20:30 | |
| lucian | PerlJam: +1 | 20:31 | |
| Coke | I recommend ecmascript. | ||
| NotFound | ecmascipt is the language, we need a name for the compiler. | 20:32 | |
| +1 for "eich" | |||
|
20:32
plobsing joined
|
|||
| whiteknight | I do a google search for "Parrot Beverage", and all I get are Parrot Bay rum, and pictures of middle-age women in bikinis | 20:33 | |
| I was hoping there would be something more useful in there | |||
| PerlJam | whiteknight: are you sure you didn't accidentally search for Parrot Beaverage? | ||
| ;> | |||
| lucian | incidentally, i thought of a great name for a Java compiler: the word 'parrot' in javanese | 20:34 | |
| NotFound | web.archive.org/web/20000815055653/...m/brendan/ | 20:35 | |
| whiteknight | lucian: and what is that word? | ||
| lucian | whiteknight: dunno, looking for a dictionary | ||
| NotFound | But that will be better for a java compiler, not for a javascript one. | 20:37 | |
| PerlJam | random somewhat related thing: | 20:38 | |
| secure.wikimedia.org/wikipedia/en/...ese_script | |||
| Coke | parascript. | ||
| loriscript | |||
| lucian | whiteknight: manuk = bird, can't find for parrot | 20:39 | |
| PerlJam: so Hanacaraka or Carakan? | 20:41 | ||
| PerlJam | Carakan | 20:42 | |
| (would be my preference) | |||
| atrodo | Carakan is the cooler looking and easier to remember of the two | ||
| PerlJam | eich is nice and short though | ||
| whiteknight | Kakaktua is Cockatoo in javanese | 20:43 | |
| lucian | PerlJam: yep, i prefer eich too | ||
| NotFound | Carakan sounds like "dog-headed", an insult in Galician X-) | 20:44 | |
| Actually faced, not headed. | |||
| lucian | carakan is taken en.wikipedia.org/wiki/Presto_(layout_engine) | ||
| NotFound | Palascript, using the imaginary island of Pala instead of Java. | 20:45 | |
| lucian | NotFound: +.5 | 20:46 | |
| NotFound | en.wikipedia.org/wiki/Island_(novel) | ||
| bacek_at_work | "teaplot" | ||
| lucian | in fact, it sounds like javascript, might be better than eich | ||
| i always though cardinal and rakudo were rather opaque names | |||
| PerlJam | lucian: I've always thought of that as a feature though | 20:47 | |
| lucian | PerlJam: how so? they're supposed to be 100% compatible implementations | 20:48 | |
| at least cardinal is | |||
| bacek_at_work | dukeleto, can you look at trac.parrot.org/parrot/ticket/1833 ? | 20:49 | |
| dukeleto, trac.parrot.org/parrot/ticket/1802 looks like good GCI task too. | |||
| PerlJam | lucian: much better than Jython and CPython and whatever style names, cardinal and rakudo "stand alone" as far as names go. | ||
|
20:49
theory left
|
|||
| lucian | PerlJam: i much prefer Jython, IronPython, PyPy, pynie, etc | 20:49 | |
|
20:50
bacek left
|
|||
| lucian | they're all obviously python | 20:50 | |
| PerlJam: cardinal isn't obviously ruby | |||
| NotFound | At one point we discussed suffixing or prefixing with winged the languages names, but no one used that way. | ||
| PerlJam | I guess I see no need for the name to evoke some feeling of similarity between implementations | ||
| NotFound | Later, I did my free adaptation of the idea ;) | ||
| lucian | PerlJam: it's no significant problem, of course | 20:51 | |
| but I'd still rather like the name to be descriptive | |||
| NotFound: i see | 20:52 | ||
| Coke | just need a one syllable prefix adjective. I suggest "Par". ;) | 20:53 | |
| PerlJam | Coke: :-) | ||
| lucian | i do like partcl as a name. it's great | 20:54 | |
| PerlJam | parva | ||
| lucian | btw, nuri = parrot in Indonesian | ||
| which is a bit similar to Javanese | |||
| just like JavaScript is a bit similar to Java | |||
| PerlJam | nuri is a nice name. | 20:55 | |
| dukeleto | NotFound: I am very happy that you made reference to Island :) | ||
| lucian | so for me it's between 'eich' and 'nuri' | 20:56 | |
| dukeleto | bacek_at_work: looking at your task ideas. They do seem good, with a bit more explanation. | 20:57 | |
| NotFound | dukeleto: I need to mention some serious sometimes. If not, people will think that I only like fairy tales ;) | ||
| bacek_at_work | dukeleto, ok. | ||
| NotFound | some serious book, I mean | 20:58 | |
| Tene | lucian: Cardinal was named that because they're a bright ruby red. | ||
| en.wikipedia.org/wiki/File:Cardinal.jpg | |||
| fwiw | |||
| lucian | Tene: yeah, i know. but the name isn't descriptive as "ruby the programming language" | ||
| Tene | I don't remember who named it, but I just maintained the name | ||
| lucian | Tene: the way "Jython" is obviously python on java/jvm | 20:59 | |
| Tene | lucian: I really don't understand what that means. You're saying that the name "ruby" is obviously descriptive of "a programming language"? | ||
| lucian: Sure, I guess. | |||
| NotFound | You mean, like "C"? | ||
| lucian | Tene: no, i'm saying the word "cardinal" doesn't jump to be as being Ruby, the programming language | 21:00 | |
| NotFound: no, i mean like D :) | |||
| meh, i'm just nitpicking | |||
| the name doesn't matter | |||
| plobsing | a ruby by any other name... | ||
| lucian | plobsing: yeah, people will never say "I wrote this piece of cardinal to do ..." | 21:01 | |
| Tene | lucian: That's because the name of the language is "Ruby" | ||
| NotFound | The future advanced version will be called "Pope" | 21:02 | |
| lucian | NotFound: heh | ||
| Tene | You don't see people saying "I wrote this piece of rubinius" either | ||
| lucian | Tene: yeah, i know. which is why I said the name of the implementation doesn't matter | ||
| Tene: the two of us keep meaning the same thing, but not understanding each other, i think | 21:03 | ||
| whiteknight: jashkenas.github.com/coffee-script/ | |||
| Tene | lucian: Okay. | 21:04 | |
| NotFound | I have a name looking for a program since years ago: YAYAPN: Yet Another "Yet Another" Program Name | 21:09 | |
| wesjdj | Does anyone know if there are any new GCI translation taks? (in German)? | ||
| dukeleto | wesjdj: there probably should be :) Which translation tasks have you done? | ||
| dalek | nxed: r700 | NotFound++ | trunk/examples/ajax.winxed: use an anonymous function in example ajax to make it look more javascriptish |
||
| whiteknight | wesjdj: I'm sure we could invent some | 21:10 | |
| wesjdj | dukeleto: I've done /dev and /download :) | ||
| dukeleto | wesjdj: ok, we have more, they just need to be made. | ||
| wesjdj | dukleto: OK. | ||
| PerlJam | NotFound: divine secretes of the yayapn brotherhood. | ||
| s/tes/ts/ | 21:11 | ||
| dukeleto | coffeescript looks a lot easier to parse than javascript | ||
| NotFound | Another silly idea with a classic background: ASL - A Scripting Language | ||
| dukeleto | NotFound: i used to hack on YACAS. Perhaps we can make a YAYACAS on parrot that uses PLA | ||
| whiteknight | YACAS? | 21:12 | |
| dukeleto | secure.wikimedia.org/wikipedia/en/wiki/Yacas | ||
| it is an open source computer algebra system | |||
| lucian | dukeleto: i don't know, it seems more ambiguous than javascript | ||
| dukeleto | similar to mathematica | ||
| i wrote a bunch of symbolic integration stuff for Yacas, it was one of my first open source projects that i hacked on | 21:13 | ||
| NotFound | Mixing ideas: YAscript | ||
| lucian | NotFound: i think the world has enough java-like syntaxes :) | 21:14 | |
| whiteknight | dukeleto: I would love to have a symbolic algebra package for Parrot, but that's a hell of a lot of work | ||
| lucian | whiteknight: R? | 21:15 | |
| dukeleto | whiteknight: why is it a lot of work? I know all the algorithms that need to be implemented. It is just a Simple Matter of Programming. Trivial, really... | ||
| NotFound | lucian: yeah, winxed is the definitive incarnation of the style. | ||
| lucian | NotFound: thanks :) | ||
| dukeleto | lucian: does R do symbolics? I thought it was mostly numerics | ||
| lucian | dukeleto: don't know, really | ||
| dukeleto | lucian: i doubt it | ||
| whiteknight: i can see hacking on a CAS on top of PLA as being really fun | 21:16 | ||
| lucian | dukeleto: i bet there's some lisp dsl for that | ||
|
21:16
wesjdj left
|
|||
| dukeleto has a sick definition of fun | 21:16 | ||
| lucian would like something like clojure, but on parrot | |||
| NotFound | lucian: and some emacs macro | 21:17 | |
| C-m-butterfly, or something | 21:18 | ||
| lucian | NotFound: heh | ||
| NotFound | xkcd.com/378/ | 21:19 | |
| lucian | NotFound: yeah, i remember | ||
| dukeleto | C-m-left-elbow-no-really-q | ||
| whiteknight: yacas.cvs.sourceforge.net/viewvc/ya...cas/tests/ | 21:22 | ||
| NotFound | Years ago I used to say that I used a laser point and a poweful magnifying glass to grab the binary code in a virgin CD. | ||
| dukeleto | whiteknight: i still see that i have the last commit on some of those files, from 7 years ago. Those might be some of the first tests I ever wrote. | 21:23 | |
| whiteknight | dukeleto: impressive | 21:25 | |
| dukeleto | whiteknight: what plans do you have for PLA? What do you want to use it for? | 21:29 | |
| whiteknight | dukeleto: I'll get back to you. Have to sign off now | 21:32 | |
| NotFound | For Linea Algebra, maybe? ;) | ||
|
21:32
whiteknight left
|
|||
| dukeleto | NotFound: nah, that is too boring. Nonlinear algebra is much more fun... | 21:35 | |
| NotFound | PCT: Parrot Chaos Theory | 21:36 | |
| dukeleto | NotFound: if a Parrot flaps it's wings in Portland ... | ||
| NotFound | ...winxed born in Spain. | 21:37 | |
| atrodo | isparrotfastyet.com/ # I got a chance to hack on this last night | 21:47 | |
| Anyone have a good idea on how to checkout a version of Rakudo that corresponds to a version of parrot? | 21:48 | ||
| dukeleto | atrodo: you can do the other way around | 21:49 | |
| atrodo: get a version of rakudo, then do "perl Configure.pl --gen-parrot" | |||
| lucian | wow, how on earth did rakudo get 1000%+ slower? | 21:50 | |
| dukeleto | atrodo: can you think of any gci tasks relating to isparrotfastyet.com ? | ||
| atrodo: you should probably give links to the actual Tool::Bench output, so people can look at the details | 21:51 | ||
| lucian | oh wait, rakudo is 1000% * 1000% slower | 21:52 | |
| dukeleto | atrodo: also, instead of "Revision $sha1", the output of "git describe --tags" would be more useful | ||
| whiteknight++ # making lots of cool GCI tasks | 21:53 | ||
| plobsing | lucian: timings are off for versions of rakudo that fail very early. since rakudo keeps pace with parrot (more or less), none but the most recent rakudos will build or run with recent parrots. | 21:54 | |
| lucian | plobsing: i see | ||
| plobsing | segfaults, dlopen() error, and packfile load errors don't take much time | 21:55 | |
| lucian | plobsing: could failures be removed from the graph then? | 21:56 | |
| plobsing | that's not up to me, but the question atrodo++ asked suggests he's working on it | ||
| atrodo | lucian> That's because Rakudo wasn't running for those old tags | ||
| dukeleto> That's the plan, but I had to update the database schema to store the nice name | 21:57 | ||
| dukeleto | atrodo: why is a database involved? | ||
|
21:57
theory joined
|
|||
| atrodo | dukeleto> To store all the results | 21:57 | |
|
21:57
dip left
|
|||
| dukeleto | atrodo: seems like you can just store JSON and render it directly in Flot | 21:57 | |
| atrodo | dukeleto> Didn't think about that | 21:58 | |
| dukeleto> but I already have the DB and the code for it, and i think that'd be more robust long term | 22:00 | ||
| especially if I start accepting submissions | |||
| dukeleto | atrodo: submissions for what? | ||
| atrodo: you can't compare benchmarks across machines. It just doesn't work. | 22:01 | ||
| atrodo | dukeleto> Submissions from other machines | ||
| dukeleto> No, but you can compare the speed of parrot over time on x86 vs. ppc vs. x86-64 | |||
| dukeleto | atrodo: not across machines | ||
| atrodo: you will be comparing apples and oranges | 22:02 | ||
| plobsing | not even on the same machine at sufficiently different points in time. OS updates could change the vmem implementation for example. | ||
| atrodo | dukeleto> Right. But just looking at the speed on my x86 linode won't show ppc 256m slow downs | ||
| lucian | dukeleto: isparrotfastyet could be a frontend for many backends | ||
| NotFound | dukeleto: you can't, apple store doesn't allow parrot. | ||
|
22:02
bluescreen joined
|
|||
| lucian | NotFound: they might if you compile it to C | 22:03 | |
| dukeleto | atrodo: sure. But if two people with ppc submit results, you can't compare them. | ||
| atrodo | dukeleto> Correct. Results would be per-machine, not per-arch | ||
| dukeleto | atrodo: you can, but it would be wrong. | ||
| atrodo: that sounds feasible, then. | |||
| atrodo: but then, if someone recompiles some basicaly library and continues to send you reports, you get wrong results. It is dicey taking submissions, unless you control the machines making the submissions. | 22:05 | ||
| atrodo | dukeleto> Right. | ||
| NotFound | We can take control of some botnet and use it. | 22:06 | |
| GeJ | Bonjour everyone. | ||
| atrodo | NotFound> Now we're talking | ||
| GeJ | Github has a b0rked again? | ||
| atrodo | "Excuse us complete stranger while we benchmark our project on your machine without your permission" | ||
| NotFound | "Is for a good cause" | 22:07 | |
| cotto_work | If anyone sees a ticket that'd make a good gci task, tag it as gci and I'll work on them tonight. | ||
| dukeleto | GeJ: github seems fine to me | ||
| plobsing | somebody start parrot-benchmarking-@home | ||
| dukeleto | cotto_work: ok, i have 2 that bacek_at_work pointed out to me | ||
| cotto_work | I tagged those already | 22:08 | |
| dukeleto | cotto_work: darn, i just realized that :) | ||
| cotto_work | </ninja> | ||
| atrodo | dukeleto> And about doing rakudo with --gen-parrot, it may work, but I was attempting to do previous release tags for the back data, so i'm not sure | ||
| GeJ | dukeleto: then I have to find why I got all those 502's while syncing some repos | 22:09 | |
| cotto_work | I'll give you one guess why you didn't see the opening tag. | ||
| dukeleto just approved a whole bunch of tasks relating to PLA and Winxed | |||
| cotto_work | ;) | ||
| dukeleto | cotto_work: NINJA! | ||
| atrodo | Ninja's don't yell | ||
| dukeleto | atrodo: so you just checkout out an old version of Rakudo and do the same thing | ||
| NotFound | What's the url of the task list? | ||
| dukeleto | atrodo: it knows the version of parrot it needs | ||
| atrodo: look at build/PARROT_REVISION in rakudo.git | 22:10 | ||
| atrodo: but you will run into issues at the svn-to-git boundary | |||
| atrodo | dukeleto> Yep, and that's where most of the release tags are | 22:11 | |
| I may just say forget it and do those 12 manually | |||
| dukeleto | atrodo: you can just look at the output of "git log", and then you can figure out how to turn a revision into a sha1 | ||
| atrodo: old commits have their svn revision embedded in them | 22:12 | ||
| atrodo | dukeleto> That's true. Still probably a manually job for back releases | 22:13 | |
|
22:43
fbrito left
22:46
theory left
|
|||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#1476) fulltest) at aae1ea9 - Ubuntu 10.10 i386 (g++-4.5) | 22:50 | |
|
22:54
plobsing left
23:02
TypeNameHere_____ joined,
TypeNameHere_____ left,
lucian left
23:09
hercynium left
23:33
fperrad left
23:40
whiteknight joined
|
|||
| bluescreen | whiteknight: ping | 23:50 | |
| hi, btw | 23:51 | ||
|
23:54
donaldh joined
|
|||
| whiteknight | bluescreen: pong | 23:55 | |
|
23:56
donaldh left,
donaldh joined
|
|||
| bluescreen | hey, I've a question... I'm in the way to implement Parrot_api_get_compiler and there is no Parrot_get_compiler. So I saw in core.ops that the got the COMPREG_HASH and read it from there. | 23:56 | |
| then my question is, should I replicate that logic in the API or create a Parrot_get_compiler function in interp_misc.c | 23:57 | ||
| so both the op and the api can benefit from it | |||
| maybe is a question for the architect | |||
| I'd vote for the 2nd option | 23:58 | ||