|
Parrot 2.0.0 "Inevitable" released! | parrot.org | Priorities: merge tt_389_fix and one_make branches | Roadmap: icanhaz.com/parrotroadmap | Latest modified TT's: icanhaz.com/parrotbugs Set by moderator on 20 January 2010. |
|||
| kid51 | In the one_make branch, I'm looking at tools/build/h2inc.pl | 00:00 | |
| ... because 'make' now invokes it before tools/build/pmc2c.pl. | |||
| I have some specific questions about the code. Are you the go-to guy for this? | |||
| darbelo | Not really, but I can try. | 00:01 | |
| kid51 | okay. | ||
| Inside sub parse_file(), at line 143, I see: $cur and die "Missing '&end_gen' in $in_file\\n"; | |||
| ... which I read as 'die if $cur has a true value' | 00:02 | ||
| But, given that $cur is declared at line 133 and not assigned to in the intervening 10 lines, I don't see how $cur can ever be a true value at that point. | |||
|
00:02
mikehh_ joined
|
|||
| kid51 | Does that seem correct? | 00:03 | |
|
00:03
patspam joined
|
|||
| kid51 | Oh wait, I suppose it could be assigned to in one of the other if-else stanzas. | 00:04 | |
| In any event, I thought that as I was going through this file, I could write documentation for the subroutines. | |||
| chromatic | Quick, everyone! Drop everything! We have to get on TIOBE now! use.perl.org/comments.pl?sid=44429&cid=71563 | ||
| darbelo | Wait, his argument is "It sucked in 2004, therefore it sucks now"? | 00:08 | |
|
00:08
particle joined
|
|||
| chromatic | His argument is "It doesn't run Python. I mean, okay, maybe it does, but it doesn't run Python 2. And also, it's not very popular. Therefore, you suck." | 00:09 | |
| Okay, more charitably. | 00:11 | ||
| "You suck for claiming to support all dynamic languages." | |||
|
00:15
riffraff joined
|
|||
| darbelo | We support lua, and sizable subsets of perl 6, ruby and tcl. Along with smaller subsets of other languages. Are those not dynamic enough? | 00:15 | |
| kid51 | plobsing: Getting some warnings t/steps/auto/libjit-01.t at line 57 | ||
| attempting to diagnose | 00:16 | ||
| chromatic | darbelo, I get the impression Ben wants something different from what we want, which is fine until FUD starts flying. | 00:17 | |
| darbelo | Maybe it's becouse I wasn't here in '04 or something, but I don't really get what is he wants. Other than python 2... | 00:18 | |
| chromatic | That's because he keeps moving the goal posts. | 00:19 | |
|
00:22
bacek joined
|
|||
| bacek | Morning, good morning | 00:22 | |
| darbelo | Good tomorrow morning, bacek | ||
| plobsing | kid51: thanks for catching that. I can reproduce the problem. it appears the test is not setting the 'osname' and/or 'cc' configuration values | ||
|
00:22
tetragon joined
|
|||
| bacek | darbelo, aloha! Tomorrow looks nice, shiny and warm :) | 00:23 | |
|
00:23
LaVolta joined
|
|||
| darbelo | Good. I'm getting tired of this damm rain. | 00:24 | |
| GeJ | Good morning everyone. | 00:25 | |
|
00:26
particle joined
|
|||
| dalek | rrot: r43538 | jkeenan++ | branches/libjit_framebuilder2/t/steps/auto/frames-01.t: Correct the number of tests specified in plan. |
00:26 | |
| kid51 | plobsing: Yes, I'm trying to figure out why. It wasn't doing that in trunk. | 00:27 | |
| kid51 ponders line 54 of ./config/auto/libjit.pm | |||
| darbelo | kid51: Sorry I left you hanging. The $cur you mention is in a while loop. | 00:28 | |
| plobsing | kid51: that finds the link options for libjit in a platform independant way IIRC | 00:29 | |
| kid51 | lemme think this thru: | ||
| If we do not provide the 'without-libjit' option to Configure.pl, we hit the 'else' at line 54 of config/auto/libjit.pm. | |||
| I would think that we would know both 'osname' and 'cc' at that point. | 00:31 | ||
| After all, we're now running these tests *after* Configure.pl, so we should have no problem getting those values. | |||
| OTOH, this is a brand-new configuration step. | 00:32 | ||
|
00:33
mikehh_ joined
|
|||
| cotto_working | chromatic, I'd question whether it's worth responding any further (if you haven't given up already) | 00:42 | |
| chromatic | Yeah, I'm done. | 00:44 | |
| tewk_ | I was entertained :) | 00:45 | |
| ash_ | plobsing: libjit_framebuilder2 passes all the make fulltests | 00:48 | |
| plobsing | ash_: thanks! | ||
| ash_ | sorry, was away from my computer | ||
| kid51 | plobsing: When I do 'svn st' after running Configure.pl, I'm getting two files with '?' status. | 00:57 | |
| chromatic | Hey jsut_, quick question! If Parrot can't run Perl 6, what did pmichaud release the 25th version of today? | ||
| kid51 | src/frame_builder_libjit.h and src/frame_builder_libjit.c | 00:58 | |
| pmichaud | Parrot runs Rakudo just fine. | ||
| kid51 | We have to tell 'svn st' that these are generated files. | ||
|
00:58
patspam joined
|
|||
| kid51 | I'm trying to remember how to do that. | 00:58 | |
| chromatic | How can that be, pmichaud? Ben Tilly says Rakudo doesn't exist! | 00:59 | |
| kid51 | I think that's setting an svn:ignore | ||
| pmichaud | I have no clue who Ben Tilly is. So he must not exist either. :-) | 01:00 | |
| chromatic | That's a good summary of the logic, yes. | 01:02 | |
| cotto_working | problem solved | 01:04 | |
| now back to coding | |||
| chromatic | Or the ball game.... | ||
|
01:11
ash_ joined
01:12
ash__ joined
|
|||
| dalek | rrot: r43539 | jkeenan++ | branches/libjit_framebuilder2 (2 files): 1. Set an 'svn:ignore' for src/frame_builder_libjit.h and 2. To avoid an uninitialized value warning in t/steps/auto/libjit-01.t, provide a dummy value for 'osname'. (This would normally be determined in the immediately preceding config step, auto::arch.) |
01:15 | |
| cotto_working | kid51, what are your thoughts on nuking the pmc2c tests? | 01:16 | |
| kid51 | I don't agree. | 01:17 | |
| Note that, contrary to what you said in email, they are not run as part of 'make fulltest'. | 01:18 | ||
| Only as part of 'perl Configure.pl --test' or '--test=build' or make buildtools_tests | |||
| cotto_working | my mistake | ||
| kid51 | I began to look at them this morning, and then resumed when I got back from work this evening. | ||
| But helping plobsing out with libjit_framebuilder2 seemed more immediate. | 01:19 | ||
| kid51 runs smolders on libjit branch on Darwin/PPC and Linux/i386 | |||
| kid51 hopes Smolder site is working ok | 01:20 | ||
| cotto_working: I'll figure out something for those tests. Are you familiar with tools/build/h2inc.pl ? | 01:21 | ||
| cotto_working | I hacked on part of it. | ||
| kid51 | So, is that what creates PCCMETHODBITS.pm (or some name like that)? | ||
| cotto_working | yes | ||
| kid51 | And tell me if I understand this: That's one of the things that previous would have been created by Configure.pl -- whereas now it's created by 'make'. | 01:22 | |
| cotto_working | correct | ||
| kid51 | Okay, then the major part of the reason for the tests' failure is that previously they were being run just *after* creation of BITS but now -- assuming they're run "between" Configure and make (which has always been the case) -- they're being run *before* creation of BITS. | 01:24 | |
| cotto_working | exactly | ||
| kid51 | Okay. | ||
| cotto_working | So making sure they're run after make is fine, but less work than deleting them. | 01:25 | |
| kid51 | I'll look into figuring out how to fake, ... er, simulate the missing prerequisites. | ||
| cotto_working | s/less/more/ | ||
| kid51 | True: but if you delete them, you delete my first 6 months of work on the Parrot project ;-) | ||
| cotto_working | And now we arrive at the heart of the matter. | ||
| kid51 | And, in fact, the tests for tools/build/pmc2c.pl was the first assignment Jerry gave me. | 01:26 | |
| Were you around then? | |||
| cotto_working | probably not. When was that? | 01:27 | |
| kid51 | Nov 2006 thru approx Apr 2007 | ||
| cotto_working | ISTR that I joined around Jan 2008. | ||
| kid51 | Before then, pmc2c.pl, ops2c.pl and ops2pm.pl were all long Perl 5 scripts, very difficult to make sense of, with little or no encapsulation of subroutines. | 01:28 | |
| cotto_working | As hairy as the code is now, I definitely appreciate the encapsulation. | ||
| chromatic | Another option is to make those tests less fragile. | ||
| kid51 | So the tests were essential to refactoring them and making them (slightly more) maintainable. | ||
| cotto_working | chromatic, that'd be ideal. | 01:29 | |
| I'd be glad to help do that. | |||
| chromatic | The tests as they are right now are too fragile. They don't help much. | ||
| kid51 | Actually, I'm surprised they weren't *more* fragile than they have proven to be. | ||
| They survived a major refactoring underneath them by tewk a couple of years back with little damage. | 01:30 | ||
| cotto_working | black box testing of the pmc2c code would be great | ||
| and ops2c et. al. | |||
| kid51 | What's happened in this branch is the first breakage in > 1 year. | ||
| chromatic | I'm not sure that's possible though. | ||
| They've broken more often than that, kid51. | |||
| When allison and I worked on PMC attributes they gave us fits. | |||
| cotto_working | They're not quite *that* resilient. | 01:31 | |
| dalek | rrot: r43540 | plobsing++ | branches/libjit_framebuilder2/config/auto/frames.pm: undefine has_exec_protect explicitly. fixes failing t/steps/auto/frames.t when libjit is installed |
||
| kid51 | Really? I would have expected you to toss fireballs my way when that happened ;-) | ||
| chromatic | I almost deleted them then. | ||
|
01:32
davidfetter joined,
bit-man joined
|
|||
| kid51 | plobsing: libjit_framebuilder2 branch: r43539: Linux/i386: make test: PASS with one TODO pass in t/pmc/eval.t | 01:34 | |
|
01:35
bit-man_ joined
|
|||
| chromatic | I appreciate that they helped refactor the generators, but those tests didn't help us make changes. | 01:35 | |
| They were just in the way. | |||
|
01:35
bit-man_ left
|
|||
| cotto_working | kid51, if you want to start turning those tests into blackbox tests, it'll help the move to nqp-based code manglers. Otherwise, the tests will eventually have to go. | 01:41 | |
| kid51 | plobsing: Same results on Darwin/PPC at same revision | ||
| cotto_working: Describe what you mean here by blackbox tests. Also, nqp-based code manglers. | 01:42 | ||
| plobsing | sweet. with that, i think I have all the testing I need to merge. | ||
| cotto_working | nqp-based code manglers: the nqp-based versions of pmc2c, ops2c and friends | 01:43 | |
| blackbox test: test of functionality without any knowledge of they system's internals | 01:44 | ||
| kid51 | Well, if you could write up specifications for those tests, perhaps that would give me an idea of how better to revise the current tests | ||
| After all, when I started, there were no specifications for any of those scripts. | 01:45 | ||
| Most of their documentation I wrote in the process of refactoring them. | 01:46 | ||
| chromatic | I don't think you *can* write black box tests for them. | ||
| kid51 | And I viewed it as my job to maintain their then current functioning exactly as it was. | ||
| cotto_working | At this point the specification is "what they do now". | ||
| chromatic, what precludes that? | |||
| chromatic | You have two separate desires. | 01:47 | |
| 1) To write regexes to demonstrate that the transformation is appropriate | |||
| 2) To write regexes loose enough that minor changes in formatting that have nothing to do with appropriateness don't cause spurious failures | 01:48 | ||
| It's possible to do so. | |||
| But then you have to *maintain* those complex, fragile regular expressions. | |||
| You have to *modify* those complex, fragile regular expressions when you change the transformations in substantive ways. | 01:49 | ||
| cotto_working | If only we had superior tools for dealing with large chunks of text that matched a certain grammar. | ||
| chromatic | It doesn't matter what tool you use for doing this matching. It's always a bad idea. | ||
| We already have a perfectly valid unambiguous way of detecting when the transformation results in invalid code that a C compiler will rightly reject. | 01:50 | ||
| Devel::Cover won't catch that. | 01:51 | ||
| So what? | |||
| purl | So are we not flattening returns? | ||
| chromatic | The tests are only there to make our lives easier. | ||
| cotto_working | agreed | ||
| chromatic | If our lives get more difficult because we're trying to appease Devel::Cover, we're doing something very wrong. | ||
| cotto_working | also agreed | 01:52 | |
| chromatic | We don't run the "Does it have spurious whitespace at the ends of lines?" test in coretest for a reason. | ||
| That reason is "Spurious whitespace almost NEVER matters." | |||
| I want to know if when I change something in Pmc2c that PMCs continue to build and work appropriately. | |||
| We already test that. | |||
| We have to test that. | |||
| I don't care if the whitespace changes. | |||
| The pmc2c tests care. | |||
| That's useless information. | |||
| I care if the PMCs fail to build. | 01:53 | ||
| We already detect that. We have to detect that. | |||
| I care if the semantics of the PMCs have changed. | |||
| We already detect that. We have to test that anyway. | |||
| pmc2c can't tell me any of that. | |||
| What's the point again?> | |||
| cotto_working | So you're saying that beyond tests of internal code, the only test we need is "does the normal test suite pass"? | 01:54 | |
| chromatic | No, not as a general rule. | ||
| cotto_working | specifically in pmc2c | ||
| 's case | |||
| chromatic | Yes. | ||
| I don't believe it's possible to write maintainable test cases that avoid false negatives and provide useful positives that are any easier to debug than what we have elsewhere. | 01:55 | ||
| Someone could surprise me, and I'm fine with that, but I don't think it's worth the effort. | |||
| cotto_working | I think that message about bacek's sync froze Outlook. I'll have to congratulate him. | 01:56 | |
| nm. It's back. | |||
| kid51_at_dinner, if you want to move the tests that's fine, but it looks like their days are numbered. | 02:00 | ||
| chromatic | Broke my mail filter too. | ||
| cotto_working | There's nothing like a 5MB diff to start the day out right. | 02:02 | |
| bacee++ | 02:03 | ||
| bacek++ | |||
| dalek | rrot: r43541 | bacek++ | branches/orderedhash_revamp (1198 files): Merge branch 'master' into orderedhash_revamp_local \tsrc/pmc/orderedhash.pmc \tsrc/pmc/orderedhashiterator.pmc |
02:04 | |
| rrot: r43542 | bacek++ | branches/orderedhash_revamp/src/pmc_freeze.c: thawfinish PMCs in reverse order. We have to fully construct younger PMC before use them in older. |
|||
| rrot: r43543 | bacek++ | branches/orderedhash_revamp/t/native_pbc (4 files): Rebuild native pbcs |
|||
| rrot: r43544 | bacek++ | branches/orderedhash_revamp/src/pmc/orderedhash.pmc: Remove redundant OrderedHash.destroy |
|||
| rrot: r43545 | bacek++ | branches/orderedhash_revamp/src/pmc/orderedhash.pmc: Fix OrderedHash thaw/freez |
|||
| cotto_working | here we go | ||
| bacek | :) | 02:12 | |
| It was syncing of 6 month old branch | 02:13 | ||
| cotto_working | Happy Deprection Day! | ||
| bacek | unmanagedstruct poking into OrderedHash guts too deeply... | 02:14 | |
|
02:14
payload joined
|
|||
| bacek | I'll fix it tonight. | 02:14 | |
| Anyway, beach time! | |||
| cotto_working | My only consolation for it being summer in Australia is that the winter here thinks that it's spring. | 02:15 | |
| plobsing | bacek: wrt thawfinish, how do reconcile younger vs older pmc ordering with circular structures? | 02:17 | |
| Coke | jsut? | 02:29 | |
| dukeleto | 'ello | 02:40 | |
| Coke | anyone using compilers/ncigen? | ||
| dukeleto | not I | ||
| dalek | pir: fdcd0d0 | dukeleto++ | CREDITS: Merge remote branch 'bob/master' |
02:47 | |
| pir: 1748f23 | dukeleto++ | t/harness.pir: Found the Bug in our Hunt because only 1 failing test was counted per file, instead of the number of tests that actually failed in that file. There are no tests to change because the harness code that prints results is not tested. This sucks, and if you don't like it, patches welcome! |
|||
| dukeleto | bubaflub++ | 02:51 | |
| dalek | TT #1409 closed by jkeenan++: Copyedit + Fixes to submissions.pod | 03:04 | |
| kid51 | Smolder is back to the way it was a couple of weeks ago: Uploading reports, but reporting back to the submitter that there was a timeout. | 03:05 | |
| I've submitted 3 smolders so far this evening, and every one of them has been reported as having timed out | 03:06 | ||
| And a 4th just now. | 03:08 | ||
| cotto | lta | ||
| dukeleto | kid51: smolder seems inconsistently stable, to say the least | ||
| i ran my own until i found out it has horrible memory leaks and has to continually be restarted | |||
| kid51 | dukeleto: Yes I think mpeters has reported the same thing. | 03:09 | |
| dukeleto | kid51: yes, he wrote it ;) | 03:16 | |
|
03:19
jsut joined
|
|||
| dalek | rrot: r43546 | jkeenan++ | trunk (78 files): Merge no_running_make_test branch into trunk. Eliminates unused and apparently superfluous t/harness option as per �trac.parrot.org/parrot/ticket/1412. |
03:43 | |
| rrot: r43547 | jkeenan++ | branches/no_running_make_test: Branch has been merged into trunk and is no longer needed at HEAD. |
|||
| rrot: r43548 | jkeenan++ | tags/no_running_make_test-43473: Branch to which tag corresponded has been merged into trunk; tag is no longer needed. |
|||
| rrot: r43549 | jkeenan++ | branches/one_make/tools/build/h2inc.pl: Add some barebones documentation of subroutines. |
|||
|
03:50
theory joined
04:29
smash_ joined
|
|||
| cotto | kid51, thanks | 04:35 | |
| dalek | rrot: r43550 | jkeenan++ | branches/one_make (7 files): Some prerequisites for successful operation of buildtools_tests are no longer instead. Eliminate one test file; eliminate some tests in another file; TODO one test. |
04:50 | |
| TT #1382 closed by jkeenan++: auto::alignptrs: Eliminate this config step | 05:01 | ||
| plobsing | is gc re-entrant? | 05:07 | |
| more importantly, even if it is, does it make sense for that to happen? | 05:09 | ||
|
05:13
jsut_ joined
|
|||
| dukeleto | plobsing: i got nothin' | 05:17 | |
| dukeleto is finally hacking on tapir again | |||
|
05:39
particle1 joined
|
|||
| dukeleto | particle: what are you hacking on these days? | 06:39 | |
|
06:45
diakopter joined
|
|||
| diakopter | chromatic: typo in title of use.perl.org/~chromatic/journal/40123 | 06:45 | |
|
07:24
fperrad joined
07:36
cognominal joined
|
|||
| chromatic | Thanks, diakopter. | 07:48 | |
| plobsing, re-entrant how? | 07:49 | ||
|
08:37
wagle joined
08:46
eternaleye joined
08:53
mikehh joined
|
|||
| cotto | checkdepends needs love | 09:16 | |
| and I need sleep | 09:20 | ||
| bacek | hooray! | 09:36 | |
| orderedhash_revamp passing tests on my box | |||
| dalek | rrot: r43551 | bacek++ | branches/orderedhash_revamp (2 files): Remove last traces of support compound keys in OrderedHash |
09:42 | |
| rrot: r43552 | bacek++ | branches/orderedhash_revamp/src/pmc (2 files): Implement OrderedHash.get_pmc and use it in UnManagedStruct. implementation. |
|||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#31850), fulltest) at r43550 - Ubuntu 9.10 amd64 (gcc with --optimize) | 09:50 | |
| dalek | rrot: r43553 | darbelo++ | branches/one_make/tools/dev/checkdepend.pl: Rename a variable to avoid a warning. |
09:58 | |
|
10:03
cognominal joined
|
|||
| bacek | mikehh, ping. Can you test orderedhash_revamp branch please? | 10:24 | |
| mikehh | bacek: in progress | 10:25 | |
| bacek | mikehh, thanks! | ||
| mikehh | basek: make corevm/make coretest, make test PASS | 10:38 | |
| bacek: regenerated MANIFEST.skip, codetest failures - mostly svn properties, fixing | 10:40 | ||
| bacek | mikehh, ok, thanks. | ||
| dalek | rrot: r43554 | mikehh++ | branches/orderedhash_revamp/MANIFEST.SKIP: regenerate MANIFEST.SKIP |
10:46 | |
| rrot: r43555 | mikehh++ | branches/orderedhash_revamp/src/pmc/orderedhash.pmc: fix codetest failure - linelength |
11:02 | ||
| darbelo | bacek: orderedhash_revamp passes make test on OpenBSD i386 r43554 | 11:09 | |
| bacek | darbelo, good! | 11:10 | |
|
11:13
soc joined
|
|||
| soc | good morning everyone! | 11:13 | |
| darbelo | mornin' | 11:14 | |
| soc | a few hours ago i was wondering what is exactly necessary to have an implementation of a programming language ... | ||
| maybe someone can tell me if i my thoughts on that are correct: | |||
| basically parrot claims to support java byte code, but that means we need a compiler to transform our language to java bytecode first, right? | 11:15 | ||
| darbelo | Nope. We have our own bytecode. | 11:16 | |
| soc | darbelo: yes, i know.... | ||
| darbelo | There was a JVM bytecode translator at some point, but I don't think it's being maintained. | ||
| soc | my thinking of "supports java byte code" wa more in the line of "can transform java bytecode to parrot byte code" | 11:17 | |
| ah ok ... | |||
| so basically to implement a language, one needs: | |||
| darbelo | parrot, an idea and a irc window open on this channel ;) | 11:18 | |
| soc | - a specification | ||
| - some execution enviroment which in the end results in commands send to the processor | |||
| - (and basically a library if you want to do something usefull with it) | |||
| dalek | rrot: r43556 | mikehh++ | branches/orderedhash_revamp/compilers/data_json (3 files): set svn properties |
11:19 | |
| soc | but now i wonder if it is somehow possible to somehow write the libraries so that they work on every execution enviroment | ||
| rrot: r43557 | mikehh++ | branches/orderedhash_revamp/config (6 files): set svn properties |
|||
| rrot: r43558 | mikehh++ | branches/orderedhash_revamp/docs (7 files): set svn properties |
|||
| soc | basically you can either write the library in the programming language, but then there is no way to bootstrap a new enviroment | ||
| or you write bytecode, but then it is not portable anymore, assuming that not every execution enviroment uses the same bytecode spec | |||
| any comments? | 11:21 | ||
| purl | any comments are appreciated | ||
| soc | purl: to what? :-) | ||
| purl | soc: huh? | ||
| soc | two people, same idea? :-D | 11:22 | |
| darbelo | soc: There's two 'bootstapped' languages targetting parrot with different approaches. nqp-rx and winxed. | 11:24 | |
| Coke | soc; PBC generated on one platform should be runnable anywhere. | 11:25 | |
| soc | that's interesting! | 11:26 | |
| generally speaking targets more the dynamic side of the programming language, right? | |||
|
11:26
bit-man_ joined
|
|||
| soc | (maybe not in the bytecode, but in the features the parrot vm supports?) | 11:27 | |
| darbelo | PBC is our name for bytecode. | ||
|
11:28
riffraff joined
|
|||
| soc | Coke: but that means there is a bytecode spec somewhere riht? | 11:28 | |
| right^ | |||
| darbelo | Basically you run nqp in one platform and 'compile' nqp to pbc tha can be run on all platforms. | ||
| soc | darbelo: wouldn't that work with every language, where the compiler is implemented in pbc? | 11:29 | |
| darbelo | The compiler for nqp is written in nqp. much like gcc is written in c. | 11:30 | |
| soc | darbelo: but nqp is executed as pbc, right? | 11:31 | |
| darbelo | Yes, you have to keep a 'precompiled' instance laying about for bootstrapping. | ||
| soc | ah ok | ||
| that solved my question ... | |||
| programming languages are tricky :-) | 11:32 | ||
| darbelo | The alternative (what winxed does) is to have a second (subset) compiler written in another language. | ||
| soc | if someone wants to have a language, independent of different bytecode repesentations and vms and architectures ... the spec gets more and more abstract | 11:33 | |
| darbelo | winxed ships a 'stage 0' bootstrap compiler written in c++, which is used to compile the 'stage 1' compiler, written in winxed. | ||
| soc | i wonder if someone has even done that to this day | ||
| darbelo | I'm not sure I understand your question, but I think that perl 6 is doing what you mention. | 11:34 | |
| soc | i tink that would require a copiler writtenin that language, which supports the creation of different bytecodes ... | 11:35 | |
| dalek | rrot: r43559 | mikehh++ | branches/orderedhash_revamp/tools/dev (6 files): set svn properties |
||
| rrot: r43560 | mikehh++ | branches/orderedhash_revamp/examples (16 files): set svn properties |
|||
| soc | but bootstrapping becomes hard then ... | ||
| darbelo: perl 6 is a language spec, and rakudo is a compiler which uses parrot for that language right? | 11:36 | ||
| perl6 can be implemented without using parrot or a specific byte code representation? | 11:37 | ||
| or is there a perl 6 byte code spec? | |||
| darbelo | yes, the first prototype was attempted in haskell IIRC | ||
| en.wikipedia.org/wiki/Pugs | 11:38 | ||
|
11:38
barney joined
|
|||
| mikehh | bacek: still a whole bunch of svn properties to set - will work on it soon - got to go out for a bit - bbl | 11:38 | |
| bacek | mikehh, I think you can safely ignore svn props. | 11:39 | |
| git-svn merge will not preserve them anyway | |||
| afaiu | |||
| darbelo | soc: The perl 6 desingn is also codified in a test suite. | 11:40 | |
| Coke | soc; there are, IIRC, about 4 different implementations of perl6 right now, in varying degrees of activity. parrot is only one of them. | 11:41 | |
| darbelo | The test suite approach basically lets you say "Running program X should produce output Y" and you give the implementors complete freedom to achieve the translation as they see fit. | 11:43 | |
| soc | ah, interesting, thanks! | 11:48 | |
| Coke: mhh, is parrot an implementation of perl6? | |||
| i thought parrot is considered to be just an independnet vm, where a perl6 compiler (rakudo) exists | 11:49 | ||
| darbelo | Not as such. Parrot is a vm for dynamic languages. | ||
| soc | what makes it hard to support static languages? | ||
| darbelo | Rakudo is a perl 6 implementation that targets parrot. | ||
| soc | or basically, where are the differences of vms targeting dynamic/static languages? | ||
| the only difference i could think of is groovy's metaprogramming | 11:51 | ||
| dalek | rrot: r43561 | barney++ | trunk/README: Removed reference to 'make install-dev' in README. Removed POD markup. |
||
| soc | basically either the compiler or the vm has to do the type inference/checking, etc. | ||
| if the compiler does it, it is called static, if the vm does it, it is called dynamic? | 11:52 | ||
| darbelo | Mostly, yeah. | ||
| soc | basically we could have a language which could be checked for type soundness at compiletime AND have metaprogramming abilities and easy reflection things, if people would implement all the intelligence in the compiler AND the vm? | 11:58 | |
| but nobody does that because it is insanely complex, right? | 11:59 | ||
| darbelo | and would probably be horribly slow too. | ||
| soc | and 99,999999999% of the population would have it's problems to get either ones right ... | ||
| darbelo: why is that? | |||
| i could imagine that it would use static type checking as a default and only use the vms abilities if they are needed ... | 12:00 | ||
| darbelo | The vm's abilities for doing stuff at runtime still have a cost. For starters they prevent a whole set of optimizations that vms for static languages can get away with. | 12:01 | |
| soc | basically it could considered to be a vm that supports recompilation while running :-) | ||
| basically a compiler which adds additional runtime information after every execution step, and generates new bytecode ... | 12:04 | ||
| ... and replaces the old bytecode by the new one while running it on the vm ... | 12:05 | ||
| dalek | tracwiki: v122 | barney++ | Languages | 12:06 | |
| tracwiki: Clarified the two demo languages | |||
| tracwiki: trac.parrot.org/parrot/wiki/Languag...ction=diff | |||
| darbelo | soc: Are you familiar with trace-based jits? | 12:07 | |
| soc | the link to pir on www.parrot.org/dev/examples/pasm is broken ... | ||
| darbelo: no, not really | |||
| why do you ask? | |||
| darbelo | It's a technique for 'specializing' code on the fly to speed up dynamic languages. | 12:08 | |
| soc | ah, ok i'll look that up | ||
| darbelo | Gimmie a sec, I have a link to a paper somewhere. | 12:09 | |
|
12:09
payload joined
|
|||
| soc | i'm reading a bit about type inference, System F and Hindley-Milner at the moment ... | 12:10 | |
| darbelo | people.mozilla.com/~dmandelin/trace...ldi-09.pdf | 12:11 | |
| soc | ah ok, tracemonkey, i heard of it | 12:12 | |
| darbelo | It's pretty javascript-specific, but can serve as a decen introduction to the ideas. | ||
| soc | at the moment i'm trying to get my bachelor degree ... attendence at he courses is mandatory, but it is just absolutely boring ... | ||
| so i'm looking elsewhere about things to learn ... | 12:13 | ||
| ok, thanks, i'll look into it | |||
| i decided to look into type systems for my first year, so i hope i don't fall asleep when the person in the front is talking about how you represent signed numbers in 8 bit :-) | 12:15 | ||
| darbelo | Integers are no fun in that respect. The cool representations use arctangets and agles. That's where the fun is. | 12:17 | |
| But then, I'm in electronics engineering, we're trained to care about the cost of every bit ;) | 12:18 | ||
| soc | :-) | 12:19 | |
| ^^ | |||
| yeah, i'm just highly annoyed of that irrelevant and trivial bs we are doing at class | |||
| it would be much more effective to tell people to stay at home and read wikipedia articles on the basics | 12:20 | ||
| and _not_ wasting 4 weeks in absolute triviality | 12:21 | ||
| Infinoid | soc: I've fixed the links on the pasm examples page, thanks | 12:26 | |
| darbelo | Heh. One of my teachers last year decided that teaching us CORDIC algorithms on a whiteboard would be too boring, so he handed us a paper on the subject and pretty much told us to look it up on wikipedia if we didn't get it ;) | ||
| soc | Infinoid: npl, glad i could help ... | ||
| darbelo: that's cool :-) | 12:27 | ||
| mandatory attendance is bulls***, most of the time ... | |||
|
12:46
bit-man left
12:59
joeri joined
13:24
clinton joined
|
|||
| darbelo | Coke: ping | 13:25 | |
|
13:26
cghene joined
13:30
kid51 joined
13:42
bit-man joined
|
|||
| dalek | rrot: r43562 | darbelo++ | branches/one_make/compilers/nqp (2 files): Manually expand a variable and remove a redundant dependency to please checkdepend.pl |
13:44 | |
|
14:01
payload joined
14:04
soc left
14:06
cognominal joined
14:12
cconstantine joined
14:20
bit-man joined
14:26
bit-man joined
|
|||
| dalek | nie: r91 | allisonrandal++ | trunk/ (2 files): Adding Plumage module files for Pynie, thanks to Fran�ois Perrad. |
14:50 | |
| nie: r92 | allisonrandal++ | trunk/setup.pir: Updating version in setup PIR file too. |
14:55 | ||
|
15:05
ilbot2 joined
|
|||
| moderator | Parrot 2.0.0 "Inevitable" released! | parrot.org | Priorities: merge tt_389_fix and one_make branches | Roadmap: icanhaz.com/parrotroadmap | Latest modified TT's: icanhaz.com/parrotbugs | ||
|
ttbot joined,
leto_ joined,
wagle_ joined,
FullMetalHarlot joined,
darbelo_ joined,
preflex_ joined,
khisanth_ joined,
Infinoid joined,
kgilmer joined,
Maddingue joined,
hercynium joined,
jjore joined,
clinton joined,
baest joined,
GeJ joined,
joeri joined,
coke joined
|
|||
| coke ~~ | 15:05 | ||
|
15:06
mj41 joined,
eternaleye joined,
payload joined
15:07
dngor joined,
pmichaud joined,
diakopter joined
15:08
PerlJam joined,
solarion joined,
dukeleto joined,
Psyche^ joined,
Util joined,
redbrain joined,
Coke_ joined,
cosimo joined
|
|||
| Coke wonders who Coke_ is. | 15:10 | ||
| Coke_ | oh. | ||
|
15:10
Coke_ left,
slavorg joined
|
|||
| Coke | darbelo_: pong | 15:13 | |
|
15:14
jan joined
|
|||
| darbelo_ | Coke: Is it just me or is data_json disconnected from the build? | 15:15 | |
| Coke | it's possible nothing depending on it, so it didn't get built | 15:16 | |
|
15:17
cognominal joined
|
|||
| darbelo_ | I added it after $(LIBRARY_DIR)/JSON.pbc in root.in and now it seems to be built, but it still has dep issues. | 15:17 | |
| Coke | (dep issues) - fair enough; it has it's own .mak files, so .. | 15:22 | |
|
15:22
jsut_ joined
|
|||
| darbelo_ | Hmm. I think I got it... | 15:23 | |
| Let me realclean | |||
| bit-man | Hello everybody | 15:27 | |
| I've tried to use opendir et al. from Rakudo but found that they aren't implemented in Parrot | 15:29 | ||
| Am I right ? | |||
| darbelo_ | Coke: Yep I got it. | 15:31 | |
| Incoming! | |||
| bit-man | Searching on Parrot code I've found that only opendir is implemented | 15:33 | |
| but seems to be for internal parrot use only | |||
| I have some time to dig on it and try the opendir family implementation for Parrot | 15:36 | ||
| Anyway I'll the mechanism at How To Submit Something New (www.parrotcode.org/docs/submissions.html) | 15:42 | ||
| Coke | that's old =-) | ||
| moment. | |||
| bit-man | OKI | ||
| Coke | docs.parrot.org/parrot/latest/html/...s.pod.html | 15:43 | |
| parrotcode is old old old and should die. apologies. | |||
|
15:44
Psyche^ joined
|
|||
| bit-man | Coke: thanks ! | 15:44 | |
| Coke: I'll follow this URL instructins then | |||
| mikehh | orderedhash_revamp branch - apart from t/distro/file_metadata.t (svn properties) | 15:46 | |
| all other tests PASS - pre/post-config, corevm/coretest, smoke (#31858), fulltest at r43562 - Ubuntu 9.10 amd64 (g++ with --optimize) | |||
| darbelo_ | Wait. parrotcode.org is still alive? | 15:49 | |
| bit-man | Sure, it redircts to parrot.org | ||
| darbelo_ | Yeah, but the old content is still reachable. | 15:50 | |
| It shouldn't be. That's stuff is horrybly outdated. | |||
| bit-man | Ooops | ||
|
15:52
eternaleye joined
|
|||
| Coke | yah. dukeleto is working on it. | 15:54 | |
| parrotcode? | |||
| parrotcode is probably out of date; use parrot.org instead. | |||
| parrotcode? | |||
| dalek | rrot: r43563 | darbelo++ | branches/one_make (2 files): Add data_json to the main makefile and redo the dependencies. |
||
| Coke | no, parrotcode is probably out of date; use parrot.org instead. | 15:55 | |
| wierd. | |||
| kid51 | Coke: Is it okay if I do some documenting and touchups on tools/build/h2inc.pl? | 15:59 | |
|
16:00
payload left
16:08
payload joined
|
|||
| dalek | rrot: r43564 | mikehh++ | branches/orderedhash_revamp/compilers/nqp/t/30-subclass.t: set svn properties |
16:11 | |
| rrot: r43565 | mikehh++ | branches/orderedhash_revamp/ext/nqp-rx (63 files): set svn properties |
|||
| darbelo_ | kid51++ # Willing documenter | ||
| rrot: r43566 | mikehh++ | branches/orderedhash_revamp (48 files): set svn properties |
|||
| darbelo_ | Coke: checkdepend says: # Looks like you failed 6 tests of 158. | 16:13 | |
| After getting that to 0 and fixing/obliterating the pmc2c tests, what's left to do on this branch? | 16:14 | ||
| kid51 | h2inc.pl: At approx line 30 and 34, we have this: $gen = join "\\n", &const_to_perl(@defs); | ||
| is there any particular reason for using the '&' on those subroutine calls? | 16:15 | ||
| darbelo_ | stale raisins? | 16:16 | |
| Coke | kid51: that is copied almost entirely from your config step. =-) | 16:21 | |
| no. it's not done for any reason. we were aiming for working, nothing else. | |||
| darbelo_: that is probably sufficient to get this branch back. | 16:23 | ||
| (note that checkdepend needs more work and should be failing MORE tests atm. =-) | |||
| kid51 | Hmm, I'm surprised I left that '&const_to_perl' in parrot_include.pm. | ||
| I wouldn't have written it that way myself, so I must have left the original author's code stand. | 16:24 | ||
| Coke | so, feel free to make changes. | ||
|
16:27
eternaleye joined
16:28
joeri joined
16:32
diakopter left
|
|||
| dalek | rrot: r43567 | jkeenan++ | branches/one_make/tools/build/h2inc.pl: Move declaration of read handle inside parse_file(); document change. |
16:43 | |
|
16:46
eternaleye joined
16:55
silug joined
|
|||
| dalek | rrot: r43568 | jkeenan++ | branches/one_make/tools/build/h2inc.pl: Re-order subroutine declarations more in the order in which program calls them. |
17:16 | |
|
17:17
clinton joined
|
|||
| kid51 | Coke: recall the problem I mentioned yesterday concerning 'make' failures after 'make clean' in one_make branch? | 17:30 | |
| Is the source of the problem at lines 219-20 of config/gen/makefiles/root.in? | 17:31 | ||
|
17:31
japhb joined
|
|||
| kid51 | i.e., the *conditional* inclusion of two opengl-related files? | 17:31 | |
| dalek | rrot: r43569 | jkeenan++ | branches/one_make/tools/build/h2inc.pl: 1. Encapsulate heredoc in print_generated_file(). |
17:32 | |
| kid51 | I ask because, during testing of changes to h2inc.pl, I get same make failures after make clean -- necessitating make realclean and perl Configure.pl | 17:33 | |
|
17:34
clinton1 joined
|
|||
| cotto | Coke, what prevents checkdepends from printing a test plan? | 17:44 | |
| darbelo_ | cotto: It does... At the end. | 17:51 | |
| cotto | Right. I'm asking why it can't figure out how many tests it'll run before it runs them. | 17:53 | |
|
17:55
slavorgn joined,
Whiteknight joined
|
|||
| cotto | (in one_make) | 18:01 | |
| dalek | rrot: r43570 | jkeenan++ | branches/one_make/tools/build/h2inc.pl: Encapsulate composition of output text in generate_text(); document that new sub. |
18:04 | |
| kid51 must get out of house | 18:06 | ||
|
18:10
cognominal joined
18:18
theory joined
|
|||
| dalek | rrot: r43571 | cotto++ | branches/one_make/tools/dev/checkdepend.pl: [checkdepend] move some duplicated code into a sub |
18:20 | |
|
18:24
jsut joined
|
|||
| cotto | hi jsut | 18:28 | |
| Infinoid | (someone may want to op slavorg) | 18:40 | |
| cotto | bacek, ^ | 18:43 | |
| or treed ^ | |||
| Infinoid | hi cotto :) | ||
| cotto | all better | 18:45 | |
| thanks | |||
| treed | NP | ||
|
18:46
davidfetter joined
18:49
tetragon joined
18:54
mikehh joined
|
|||
| mikehh | orderedhash_revamp branch | 19:14 | |
| All tests PASS (pre/post-config, make corevm/make coretest, smoke (#31860), fulltest) at r43570 - Ubuntu 9.10 amd64 (g++ with --optimize) | |||
| davidfetter | w00t! | 19:20 | |
| dalek | rrot: r43572 | cotto++ | branches/one_make/tools/dev/checkdepend.pl: [checkdepend] tweak a regex to avoid a warning, rename a var |
19:25 | |
| cotto | Coke, can you do a patch review? | 19:29 | |
| nopaste | "cotto" at 96.26.227.153 pasted "checkdepends simplification" (43 lines) at nopaste.snit.ch/19335 | 19:30 | |
| "cotto" at 96.26.227.153 pasted "checkdepends simplification, v2" (43 lines) at nopaste.snit.ch/19336 | 19:34 | ||
|
19:41
payload joined
|
|||
| nopaste | "cotto" at 96.26.227.153 pasted "checkdepends simplification, v3 (with a plan)" (55 lines) at nopaste.snit.ch/19337 | 19:42 | |
| cotto | committed | 19:44 | |
| Coke | checking... | 19:46 | |
| oh. | |||
| bah. | |||
| plan is overrated. :P | |||
| but, ok. | |||
| has anyone duplicated kid51's 'make clean' issue in one_make? | 19:47 | ||
|
19:56
chromatic joined
|
|||
| chromatic | gcc.gnu.org/wiki/MELT%20tutorial | 19:56 | |
| dalek | rrot: r43573 | cotto++ | branches/one_make/tools/dev/checkdepend.pl: [checkdepend] simplify control flow, only run one test per file, add a plan |
19:57 | |
|
20:40
thetao joined
|
|||
| thetao | Hi... I'm trying to build Parrot on Ubuntu, and am getting an error " | 20:44 | |
| "src/runcore/main.c:777: error: ‘Parrot_DynOp_core_cg_2_0_0’ undeclared (first use in this function)" when running make. | |||
| cotto | It sounds like you've upaded from svn but have some stale files. Try running make reconfig && make. | 20:46 | |
| cconstantine | cotto: does 'make reconfig' effectivly do a make realclean && perl Configure ? | 20:48 | |
| cotto | yup | 20:49 | |
| except that it runs Configure.pl with the same args that were passed to it when the makefile was last generated | 20:50 | ||
| It's a nice shortcut. | |||
| thetao | cotto: thank you very much, that helped.. | ||
| in that case, the args should be stored somewhere isn't it? where are they? | 20:51 | ||
| cotto | thetao, glad to hear it | ||
| in Makefile | |||
| CONFIG_ARGS right near the top | |||
| cotto is knee-deep in makefiles atm | |||
| and sinking | |||
| headdesk | 20:55 | ||
| nm | |||
|
21:18
payload1 joined
|
|||
| dalek | rrot: r43574 | cotto++ | branches/one_make/tools/dev/checkdepend.pl: [checkdepend] make checkdepends capable of spitting out file and line info |
21:18 | |
|
21:19
thetao left
21:46
bit-man left
|
|||
| dalek | rrot: r43575 | mikehh++ | branches/one_make/tools/dev/checkdepend.pl: fix codetest failures - cuddled else and an XXX at line 106 that perlcritic doesn't like |
22:55 | |
| mikehh | one_make branch - All tests PASS (pre/post-config, make corevm/make coretest, smoke (#31863), fulltest) at r43575 - Ubuntu 9.10 amd64 (g++ with --optimize) | 23:03 | |
|
23:13
kid51 joined
23:18
patspam joined
|
|||
| dalek | rrot: r43576 | jkeenan++ | branches/one_make/tools/build/h2inc.pl: Change return value of perform_directive() to array ref, as this is what next function takes as argument. |
23:27 | |
|
23:49
mtk joined
23:50
mtk left
23:59
purl joined
|
|||