Parrot | source cross referenced
← Previous day | Index | Channel Index | Today | Next day → | Search | Google Search | Plain-Text | plain, newest first
All times shown according to UTC.
| Time | Nick | Message |
|---|---|---|
| 00:02 | chromatic | Yes, you're fine. |
| 00:02 | I think I'll have it compiling again by tomorrow. | |
| 00:05 | patspam joined #parrot | |
| 00:09 | mokurai left #parrot | |
| 00:15 | * Coke | yawns |
| 00:17 | curses as his password to feather is stored in 1password, which means he don't have it on it. | |
| 00:17 | Coke | "on him" |
| 00:18 | darbelo | 1password? |
| 00:18 | purl | 1password is a mac thing, right? |
| 00:18 | * darbelo | is enlightened. |
| 00:18 | treed | Yeah. |
| 00:18 | It stores passwords in the OS X keychain. | |
| 00:19 | Can also generate passwords and store identity/credit card information. | |
| 00:19 | Coke | it integrates with all the os x browsers, gives you what treed said, and has an iphone app so you can have them on the road. |
| 00:19 | treed | With autofills for web browsers |
| 00:19 | All encrypted behind a master password. | |
| 00:19 | Very spiffy. | |
| 00:19 | * Coke | is reminded his 30 day trial will be expiring in a few weeks. |
| 00:20 | * treed | bought it a while back. |
| 00:20 | treed | I wish there was a Windows version. |
| 00:20 | I know there are similar programs for Windows, but I'd like to sync across them all. | |
| 00:24 | Coke | I wonder if anyone would mind if we added .gitignore files to parrot |
| 00:24 | (not part of codetest, just a convenience by/for our git-svn friends. | |
| 00:28 | dalek | decnum-dynpmcs: r164 | darbelo++ | trunk/t/fma.t: |
| 00:28 | decnum-dynpmcs: Add tests for the 'multiply_add' METHOD, extracted from fma.decTest. | |
| 00:28 | decnum-dynpmcs: review: http://code.google.com/p/decnu[…]urce/detail?r=164 | |
| 00:29 | * Coke | wonders how to say 'svn info' on a git repo (not git-svn) |
| 00:31 | petdance joined #parrot | |
| 00:45 | darbelo | Coke: git log? |
| 00:46 | eternaleye | Coke: (backlogging) Didn't you read the part in the git docs where they specifically say it's a bad idea to push to a non-bare repo (ie one with a working tree)? |
| 00:47 | darbelo | Coke: nevermind, I mis-read your question. |
| 00:49 | However, googling tosses http://blog.inquirylabs.com/20[…]da-like-svn-info/ which is kinda dated, but looks to be in the same ballpark as what you want. | |
| 00:51 | GeJ joined #parrot | |
| 00:54 | slavorgn joined #parrot | |
| 00:55 | rblackwe joined #parrot | |
| 00:56 | nperez joined #parrot | |
| 00:58 | Infinoid | msg whiteknight Naive benchmark results: examples/pir/mandel.pir runs 15% faster in auto_attrs branch. (compared average execution time of 2500 runs) |
| 00:58 | purl | Message for whiteknight stored. |
| 00:58 | eternaleye | Holy crap, that's awesome! |
| 00:59 | cotto | Infinoid, where does that improvement come from? I thought that the branch only made Parrot smarter, not faster. |
| 01:00 | Infinoid | I've no idea. |
| 01:00 | [08:28] <@whiteknight> Infinoid: you have any ability to do some quick benchmarks today? | |
| 01:00 | [08:33] <@whiteknight> the auto_attrs branch streamlines the way PMCs are allocated, so I guess we want something that puts a lot of pressure on the GC | |
| 01:01 | I'm not opposed to the idea that smarter can be faster, but I don't know any details at all. | |
| 01:01 | cotto | Maybe it's because of the elimination of malloc/free, but I wouldn't expect that much of a change. |
| 01:02 | Infinoid | it's always possible that auto_attrs didn't get faster at all, and trunk just got slower, I suppose. |
| 01:02 | cotto | For some reason I got you and NotFound confused. He'd be the best person to ask about such improvements. |
| 01:03 | Infinoid | must be the 8-letter nick thing :) |
| 01:07 | nperez joined #parrot | |
| 01:09 | eternaleye | Infinoid++ # major coolness |
| 01:12 | Infinoid | Don't ++ me, I didn't do anything. |
| 01:12 | If you want a less naive benchmark, examples/benchmarks/gc_alloc_reuse.pasm doesn't seem to show much effect | |
| 01:13 | dukeleto | 'ello |
| 01:14 | darbelo | dukeleto == l3t0 ? |
| 01:15 | dukeleto | darbelo: yes. l3t0 is at work, dukeleto at home |
| 01:15 | yes, I need some type of irc proxy solution. | |
| 01:15 | darbelo | Ah. That 'splains it. |
| 01:16 | ssh to home? | |
| 01:19 | dukeleto | darbelo: more like remote desktop. l3t0 is irssi living in a screen session on my server. dukeleto is colloquy on my laptop. but sometimes it is just fun confusing people :) |
| 01:20 | darbelo | (confusing people)++ |
| 01:21 | dukeleto | darbelo: well written blog post, keep 'em coming |
| 01:22 | darbelo | I think the blogging has been the hardest part of GSoC so far :) |
| 01:22 | dukeleto | darbelo: Believe me, I know :) I have been slackin' lately... |
| 01:22 | it is just so much easier to write a passing test then a blog post. | |
| 01:24 | darbelo | Heh. One of the things I did for decnum-dynpmcs is a tool that translates tests automatically to PIR. So, yeah, tests are easier :) |
| 01:25 | payload joined #parrot | |
| 01:25 | dukeleto | darbelo: nice |
| 01:27 | payload1 joined #parrot | |
| 01:27 | darbelo | OTOH, the decTest suite has some test that decNumber fails, or test that have different assumptions than we do. So I have to filter those out. |
| 01:30 | Infinoid | msg whiteknight It's weird, seems to depend greatly on the workload. I see 13% speedup on examples/benchmarks/stress1.pasm, but almost no change on examples/benchmarks/gc_alloc_reuse.pasm or t/benchmark/benchmarks.t. |
| 01:30 | purl | Message for whiteknight stored. |
| 01:31 | Infinoid | goodnight all |
| 01:33 | all | goodnight Infinoid |
| 01:33 | kid51 joined #parrot | |
| 01:36 | dukeleto | Infinoid: see you on the flip side |
| 01:37 | how do I link to files in the repo from trac again? it doesn't seem to be on the wiki markup page | |
| 01:38 | dalek | TT #911 created by dukeleto++: Tests for macro_local |
| 01:40 | dukeleto | found it: https://trac.parrot.org/parrot/wiki/TracLinks |
| 01:48 | dalek | decnum-dynpmcs: r165 | darbelo++ | trunk/t/squareroot.t: |
| 01:48 | decnum-dynpmcs: Add tests for the 'sqrt' METHOD, extracted from squareroot.decTest. | |
| 01:48 | decnum-dynpmcs: review: http://code.google.com/p/decnu[…]urce/detail?r=165 | |
| 02:01 | tetragon joined #parrot | |
| 02:04 | cognominal joined #parrot | |
| 02:33 | satrac joined #parrot | |
| 02:35 | janus joined #parrot | |
| 02:35 | AndyA_ joined #parrot | |
| 02:50 | * allison | is trying to figure out what the Happy Birthday is referring to. |
| 02:50 | allison | first commit to parrot cvs repository 2001-08-29, still 18 days to go |
| 02:51 | ash_ joined #parrot | |
| 02:51 | allison | first parrot release 2001-09-10, a bit longer to go |
| 03:09 | TiMBuS joined #parrot | |
| 03:11 | theory joined #parrot | |
| 03:20 | donaldh joined #parrot | |
| 03:38 | dalek | parrot: r40496 | dukeleto++ | trunk (3 files): |
| 03:38 | parrot: [t] Add tests for fp_eq_ok in runtime/parrot/include/fp_equality.pasm | |
| 03:38 | parrot: review: https://trac.parrot.org/parrot/changeset/40496/ | |
| 03:45 | parrot: r40497 | dukeleto++ | trunk/t/include/fp_equality.t: | |
| 03:45 | parrot: [t] Fix codingstd_tests related to fp_equality.t | |
| 03:45 | parrot: review: https://trac.parrot.org/parrot/changeset/40497/ | |
| 03:53 | cotto | allison, it was just some silliness referring to several people with birthdays at or near today. |
| 03:55 | allison | ah, well then happy birthday! |
| 03:57 | cotto | It's interesting to know Parrot's birthday, though. Thanks for that. |
| 04:02 | That's a very short time between the first commit and the first release. Was there some preexisting code? | |
| 04:02 | allison | aye, the third commit is one massive dump of Simon Cozen's development directory |
| 04:05 | cotto | Any idea when he originally started working on it? |
| 04:06 | s1n joined #parrot | |
| 04:13 | petdance joined #parrot | |
| 04:21 | allison | cotto: I was just wondering that as I wrote it |
| 04:21 | treed | Is there any way I can specifically remove a vtable from a subclass where the parent class has that vtable? |
| 04:21 | allison | not sure, but we might be able to ask him |
| 04:22 | treed: what are you using from the parent if you don't inherit the vtable? | |
| 04:22 | treed | All the other vtables/methods. |
| 04:22 | I mean a vtable entry. | |
| 04:22 | allison | oh, you just want to remove one specific vtable function, not all of them |
| 04:23 | treed | Yeah. |
| 04:23 | allison | no, you can't remove it, you have to override it with new behavior |
| 04:23 | treed | The parrot PMCs all assume that you can implicitly convert from, say string to integer. |
| 04:24 | This causes havoc with Ruby, because you need to have a .to_int method for that to work. | |
| 04:24 | cotto | You could just have it use Default's implementation, but throwing an exception would probably be a better idea. |
| 04:24 | treed | I could throw the exception that Ruby actually would, except that subclassing Exception doesn't work :-/ |
| 04:25 | (Well, throwing subclasses doesn't work.) | |
| 04:36 | allison | treed: if you duplicate the interface of exception, it'll work |
| 04:36 | (is this a PIR subclass of Exception?) | |
| 04:37 | treed | It is. |
| 04:37 | And subclasses of those subclasses. | |
| 04:39 | Tene | treed: are you sure? last I checked, cardinal didn't actually subclass exception. |
| 04:40 | it just had a completely separate class that had an exception as an attribute. | |
| 04:40 | have you changed that yet? | |
| 04:41 | seems to work fine for me. | |
| 04:41 | nopaste | "tene" at 12.161.194.230 pasted "exception subclass for treed++" (7 lines) at http://nopaste.snit.ch/17522 |
| 04:42 | Tene | wee? works fine. |
| 04:42 | s/wee/see/ | |
| 04:44 | treed | Tene: It subclasses Exception since I made it do so. |
| 04:44 | I added the entire Ruby Exception tree. | |
| 04:45 | Tene | treed: look at the example I posted. it works fine. |
| 04:45 | treed | I wonder if this is also due to the P6object crap like in TT#909 |
| 04:45 | purl | okay, treed. |
| 04:45 | Tene | so what are you doing differently? |
| 04:45 | Sounds like. That's what I was thinking too. | |
| 04:45 | might be about time to drop it. | |
| 04:45 | * treed | is getting kinda fed up with P6object. |
| 04:45 | treed | That's one of the options I list in the related issue on github. |
| 04:46 | Honestly, I'm not sure what all the P6stuff buys us. | |
| 04:46 | I read the pir file, and it doesn't seem like it does much that couldn't be easily reimplemented. | |
| 04:47 | Tene | The only reason I used it was that it was the easiest way to get something together. |
| 04:48 | treed | Ah. |
| 04:48 | I thought we were keeping it for some reason. | |
| 04:48 | You suggested subclassing it. | |
| 04:48 | Tene | That's pmichaud's goal, at least. |
| 04:49 | P6object *should* be a good foundation for other languages to build on. | |
| 04:49 | treed | Is there a vtable for get_bool? |
| 04:49 | Tene | So, if you care about helping P6object improve from that perspective, I recommend keeping it and pushing back to pmichaud whenever there are issues. |
| 04:49 | * treed | is fixing the Bool thing, having just discovered that Ruby has no such class. |
| 04:49 | * Tene | AFK sleeping. |
| 04:49 | * treed | nods. |
| 04:52 | treed | Hm, there is a get_bool, but I'm not sure what I should be returning with it. |
| 05:08 | nathanmccauley joined #parrot | |
| 05:21 | nathanmccauley_ joined #parrot | |
| 05:32 | dukeleto | should tests for macro_local go in compilers/pirc/t ? |
| 05:42 | bacek_at_work | dukeleto: it's better to start creating compiler-independent test suite for pir. |
| 05:42 | we have at least 2 implementations now. | |
| 05:43 | dukeleto | bacek_at_work: ok, so what is our next step? |
| 05:44 | bacek_at_work | dukeleto: may be create t/pir? |
| 05:45 | dukeleto | bacek: which language should the tests be in ? PIR? i have noted that PIR tests are much harder to debug. we need better error diagnostics |
| 05:47 | cotto | dukeleto, if you're referring to line numbers, very yes |
| 05:47 | bacek_at_work | dukeleto: hmm... I slightly prefer tests in pir. But in perl are acceptable also. |
| 05:47 | dukeleto | cotto: also, we need got BLAH expected FOO |
| 05:48 | cotto | pir tests are preferable, but we're not anywhere near the point in the migration away from perl where new perl-based tests should be discouraged. |
| 05:48 | dukeleto | bacek: I am fine with that. I may work on making test_more.pir more friendly as a precursor or in parallel |
| 05:49 | so it seems that pirc is failing tests in trunk | |
| 05:51 | the tests in compilers/pirc/t, that is | |
| 06:00 | NotFound | Tene: that exeception example doesn't work as intended. It throws a "Not a throwable object" exception. |
| 06:00 | treed | Ha-HA. |
| 06:00 | * treed | should have actually tried it. |
| 06:01 | chromatic joined #parrot | |
| 06:02 | uniejo joined #parrot | |
| 06:15 | theory joined #parrot | |
| 06:23 | dukeleto | it seems a lot harder to write TODO tests which fail parsing in PIR |
| 06:23 | chromatic | pir_error_output_like |
| 06:24 | dukeleto | chromatic: is that function available in tests written in PIR? |
| 06:24 | chromatic | Oh. No, sorry. |
| 06:25 | dukeleto | chromatic: that is good to know about, though |
| 06:26 | it seems that we need improvements to our PIR testing framework to make converting tests and writing new tests in PIR a reality | |
| 06:27 | .macro_local is definitely broken, but I can't seem to write a todo test in PIR | |
| 06:28 | easy to get around (just write the test in perl), but indicative of a larger issue | |
| 06:29 | chromatic | We need stronger Eval. |
| 06:53 | dalek | parrot: r40498 | dukeleto++ | trunk (3 files): |
| 06:53 | parrot: [t] Add some basic tests for PIR macros | |
| 06:53 | parrot: review: https://trac.parrot.org/parrot/changeset/40498/ | |
| 06:55 | masak joined #parrot | |
| 06:56 | dalek | parrot: r40499 | dukeleto++ | trunk/t/pir/macro.t: |
| 06:56 | parrot: [t] Fix codingstd_tests related to t/pir/macro.t | |
| 06:56 | parrot: review: https://trac.parrot.org/parrot/changeset/40499/ | |
| 06:56 | chromatic | Hm, was Parrot_set_run_core ever in the public API? |
| 06:59 | eternaleye joined #parrot | |
| 06:59 | dalek | parrot: r40500 | NotFound++ | branches/auto_attrs/lib/Parrot/Pmc2c/PMCEmitter.pm: |
| 06:59 | parrot: explain the heuristic used to set the value of attr_size | |
| 06:59 | parrot: review: https://trac.parrot.org/parrot/changeset/40500/ | |
| 07:09 | szabgab joined #parrot | |
| 07:12 | chromatic | Hm, I'm through to the IMCC build now. That's progress. |
| 07:12 | szabgab | hi chromatic , have you seen the patch I sent you for the sdl website ? |
| 07:17 | dalek | parrot: r40501 | NotFound++ | failed to fetch changeset: |
| 07:17 | parrot: merge from trunk r40500 | |
| 07:17 | parrot: review: https://trac.parrot.org/parrot/changeset/40501/ | |
| 07:18 | chromatic | szabgab, I can't commit there myself, but I sent it to webmaster perl.org to commit. |
| 07:18 | szabgab | oh |
| 07:19 | chromatic | Now Parrot builds on my branch, but it segfaults. |
| 07:19 | Progress. | |
| 07:19 | purl | progress is progress |
| 07:19 | szabgab | so we are again dependent on a few people who might as well be on vacation for the next 2 weeks |
| 07:19 | chromatic | Unfortunately. |
| 07:20 | szabgab | do you know anyone except of webmaster perl.org who has commit bit on that web site ? |
| 07:21 | donaldh joined #parrot | |
| 07:21 | chromatic | No, I don't. |
| 07:27 | GeJ | chromatic: what is your branch about? |
| 07:32 | chromatic | Refactoring runcore management to use structs and function pointers instead of magic numbers. |
| 07:33 | cotto | sounds like it's getting close |
| 07:35 | chromatic | Segfault debugging time. |
| 07:40 | dalek | cardinal: 7354de4 | treed++ | (4 files): |
| 07:40 | cardinal: Remove Bool and add TrueClass and FalseClass. | |
| 07:40 | cardinal: review: http://github.com/cardinal/car[…]2de22e069ccad7c0e | |
| 07:40 | cardinal: 5aa1105 | treed++ | src/ (13 files): | |
| 07:40 | cardinal: Have everything use the new true/false. | |
| 07:40 | cardinal: review: http://github.com/cardinal/car[…]bde96fd6cca2337ae | |
| 07:40 | cardinal: 035af4a | treed++ | (3 files): | |
| 07:40 | cardinal: Fix Array's - and & operators. | |
| 07:40 | cardinal: review: http://github.com/cardinal/car[…]248a4cf886515f945 | |
| 07:40 | cardinal: 264f804 | treed++ | t/hash/exists.t: | |
| 07:41 | cardinal: Correct a test to use true/false instead of 1/0. | |
| 07:41 | cardinal: review: http://github.com/cardinal/car[…]63a63be64ec69d58d | |
| 07:41 | cardinal: 677cc5d | treed++ | t/time.t: | |
| 07:41 | cardinal: Make a test not fail if it happens to be within the hour after midnight. | |
| 07:41 | cardinal: review: http://github.com/cardinal/car[…]e14e93a823877a5ba | |
| 07:41 | treed | Um, wow. |
| 07:41 | forgot it would spam the channel | |
| 07:41 | * treed | should push more often. |
| 07:43 | chromatic | I should learn how to declare function pointers in C. |
| 07:44 | NotFound | chromatic: lots of typedef usually helps |
| 07:49 | chromatic | I had one too many *. |
| 07:49 | nopaste | "chromatic" at 72.87.39.97 pasted "Pluggable Runcores Work in Progress" (2294 lines) at http://nopaste.snit.ch/17523 |
| 07:49 | chromatic | Plenty of fun segfaults to debug. |
| 07:50 | 10 files changed, 1138 insertions(+), 585 deletions(-) | |
| 07:50 | cotto | That's quite the patch. |
| 07:50 | chromatic | Bigger than I thought it would be. |
| 07:50 | 24 Git commits so far. | |
| 07:51 | cotto | I feel so low-tech using straight svn. |
| 07:51 | GeJ | Pardon my ignorance, but how come (almost) none of the 64bits platforms support JIT? |
| 07:51 | chromatic | It's an experiment. |
| 07:52 | GeJ, it's difficult to write a 64-bit aware JIT. | |
| 07:58 | cotto | chromatic, do you understand Parrot's guts well enough to say why pc[1] tells me the number of the first register arg to an op? |
| 08:00 | HG` joined #parrot | |
| 08:02 | chromatic | The register number? |
| 08:02 | My guess is that the first argument to the op is a constant. | |
| 08:11 | payload joined #parrot | |
| 08:16 | NotFound | I think register numbers are just the way to store the register arguments in the bytecode sequence. |
| 08:18 | cotto | I foresee some time spent diving into that part of the code. Happily src/runcore/trace.c does much of the work for me. |
| 08:22 | chromatic | Aha, it now builds! |
| 08:22 | Fully! | |
| 08:22 | Even PGE! | |
| 08:23 | einstein joined #parrot | |
| 08:23 | eternaleye | chromatic++ |
| 08:23 | chromatic | There are some test failures, but it's much closer. |
| 08:24 | 22 test failures. | |
| 08:24 | cotto | v. shiny |
| 08:25 | nopaste | "chromatic" at 72.87.39.97 pasted "Pluggable Runcores Work in Progress (take 2)" (2422 lines) at http://nopaste.snit.ch/17524 |
| 08:25 | chromatic | 13 files changed, 1152 insertions(+), 605 deletions(-) |
| 08:47 | cotto | coverage? |
| 08:47 | purl | coverage is good here, but sucks in lots of places. |
| 08:47 | cotto | test coverage? |
| 08:47 | purl | it has been said that test coverage is http://tapir2.ro.vutbr.cz/cover/ |
| 08:53 | chromatic | I ran a couple of cores. |
| 08:53 | Mostly it's cleaning up a few odds and ends I missed. | |
| 08:53 | * chromatic | sleeps |
| 09:52 | gaz joined #parrot | |
| 10:07 | muixirt joined #parrot | |
| 10:07 | muixirt | good morning |
| 10:07 | purl | And good moroning to you, muixirt. |
| 10:07 | riffraff joined #parrot | |
| 10:09 | riffraff joined #parrot | |
| 10:40 | gaz joined #parrot | |
| 11:07 | szabgab joined #parrot | |
| 11:08 | kj joined #parrot | |
| 11:18 | HG` joined #parrot | |
| 11:21 | donaldh joined #parrot | |
| 11:25 | MoC joined #parrot | |
| 11:46 | dalek | parrot: r40502 | NotFound++ | branches/auto_attrs/src/pmc (2 files): |
| 11:46 | parrot: use auto_attrs in CallSignature and some cleaning in Capture | |
| 11:46 | parrot: review: https://trac.parrot.org/parrot/changeset/40502/ | |
| 11:50 | einstein | I finally succeeded in really killing the unionval struct from the pmc struct |
| 11:51 | I will have to do some more cleansing, but I hope I can make patch on saterday, but i will send a messsage on the mailing list with more information | |
| 12:13 | whiteknight joined #parrot | |
| 12:20 | dalek | parrot: r40503 | NotFound++ | branches/auto_attrs/src/pmc (2 files): |
| 12:20 | parrot: set auto_attrs on Socket and Sockaddr PMCs | |
| 12:20 | parrot: review: https://trac.parrot.org/parrot/changeset/40503/ | |
| 12:32 | petdance joined #parrot | |
| 12:35 | ruoso joined #parrot | |
| 12:57 | Coke | dukeleto: deep in review, but you can run irssi on feather if that helps. |
| 13:11 | (pirc vs. imcc) there should be one set of tests, and whether we're testing imcc or pirc should be controlled by a Configure.pl switch that lets us pick our compiler. | |
| 13:12 | NotFound | I'd like better runtime switched, and configure setting the default. |
| 13:14 | Coke | NotFound: there's no need for runtime switching since we're only ending up with one. |
| 13:15 | mikehh | All tests PASS (pre/post-config, smolder, nqp_test, fulltest) at r40503 - Ubuntu 9.04 i386 |
| 13:17 | NotFound | Coke: I think is highly probable that new altenatives and proposals keeps coming. |
| 13:18 | rdice joined #parrot | |
| 13:20 | particle | einstein++ |
| 13:21 | NotFound: i agree. unfortunately, making something pluggable doesn't usually succeed until the third plugin is complete | |
| 13:21 | anyone else want to write a pir compiler? | |
| 13:23 | NotFound | Isn't someone writing a PCT based one? |
| 13:23 | * moritz | looks at bacek |
| 13:24 | kj | NotFound: I suspect/hope that particle was joking :-) |
| 13:24 | bacek_at_work | who called me? |
| 13:25 | particle | it's a sad truth, but a half joke |
| 13:25 | bacek_at_work | Ah. Yeah. It's not quite joke. |
| 13:25 | kj | i thought it was funny |
| 13:25 | mikehh | rakudo (a5dfe95) builds on parrot r40503 - make test/make spectest (up to 27968) PASS - Ubuntu 9.04 i386 |
| 13:25 | bacek_at_work | I resurrected old kj's PCT_PIR :) |
| 13:26 | particle | can you use nci from nqp yet? |
| 13:27 | bacek_at_work | particle: I didn't tried. |
| 13:29 | quek joined #parrot | |
| 13:34 | Coke | (anyone else want to write a pir compiler) ... Are you (*&@#$ serious? |
| 13:35 | bacek_at_work | Coke: I am. |
| 13:35 | Coke | a PCT based one is not beyond the realm of potential usability. |
| 13:36 | a third C based one would be, IMO, insane, if we have two actively developed ones in that niche already in progress. | |
| 13:36 | and we only have those 2 because the second one isn't finished yet. | |
| 13:36 | mikehh | now I gotta switch to my amd64 - I haven't got my VM working properly yet (wireless network problems) |
| 13:44 | mikehh joined #parrot | |
| 13:52 | particle | coke: agreed, a third c-based one is madness |
| 13:52 | bacek_at_work | no one want to do it in C. |
| 13:53 | NQP is much-much better. | |
| 13:53 | NotFound | Let's write it in c++, then ;) |
| 13:53 | particle | OK! you start. |
| 13:53 | bacek_at_work | NotFound: Easy. |
| 13:53 | 2 man-years :) | |
| 13:53 | NotFound | I'm tempted, but lack the time. |
| 13:54 | particle | so, who wants to write the wrapper for libparrot so we can call parrot funcs from nqp using nci? |
| 13:54 | embed parrot in parrot, anyone? | |
| 13:54 | moritz | with more inferior runloops than ever before? |
| 13:58 | particle | but of course! |
| 14:28 | nathanmccauley joined #parrot | |
| 14:32 | mberends joined #parrot | |
| 14:46 | Psyche^ joined #parrot | |
| 15:03 | gron joined #parrot | |
| 15:04 | gron | hello, have a short question about the parrot internals: do i read interpreter.c correct? parrot does have a switch-based, a threaded interpreter, and some kind of JIT? |
| 15:05 | nathanmccauley_ joined #parrot | |
| 15:05 | nperez left #parrot | |
| 15:06 | nathanmccauley__ joined #parrot | |
| 15:08 | muixirt | gron, yes i think so |
| 15:09 | Psyche^ joined #parrot | |
| 15:11 | Fr0stify joined #parrot | |
| 15:20 | gron | ok, thanks, the jit is i guess only a simple baseline compiler, or are there already some fancy optimizations included? |
| 15:20 | donaldh joined #parrot | |
| 15:20 | muixirt | gron, erm ... I'm not a parrot hacker |
| 15:21 | actually the jit is quite good | |
| 15:21 | but only for i386 | |
| 15:21 | moritz | gron: I don't think it's really fancy yet. The biggest problem are the many PIR <-> C switche which can't be JITted |
| 15:22 | muixirt | moritz, you mean these PMCs? |
| 15:22 | moritz | yes |
| 15:24 | muixirt | moritz, I think the large number of opcodes is a burden for jit too |
| 15:24 | quek left #parrot | |
| 15:24 | theory joined #parrot | |
| 15:25 | * PerlJam | whispers "L1" |
| 15:25 | muixirt | L1? |
| 15:25 | purl | i guess L1 is a hypothetical language that would be used to implement PMCs and PIR-visible ops so that they could all be easily jitted. or http://irclog.perlgeek.de/parr[…]9-04-21#i_1083550 or http://rt.perl.org/rt3/Ticket/[…]=39313#txn-471982 or magical unicorns and flying puppies. |
| 15:25 | * moritz | whispers "Lorito" |
| 15:25 | moritz | lorito? |
| 15:25 | purl | lorito is "little parrot" in spanish or examples/embed/lorito.c |
| 15:25 | PerlJam | ah, better name |
| 15:27 | muixirt | I assume it's in the next parrot release ... |
| 15:27 | moritz | don't assume. It exists only as an idea so far |
| 15:27 | muixirt | :-) |
| 15:28 | does a hll have any hooks for meddling with the execution of opcodes? | |
| 15:32 | gaz joined #parrot | |
| 15:32 | muixirt | heretic question: for what are these Ixx, Nxx ans Sxx parrot registers good for? *Dynamic* languages targeting parrot don't seem to use them often |
| 15:32 | gaz joined #parrot | |
| 15:33 | moritz | muixirt: I guess Perl 6 will use them when it implements native types |
| 15:34 | my int @a[10] -> FixedIntegerArray | |
| 15:35 | muixirt | it doesn't seem to be high on the priority list |
| 15:35 | moritz | no |
| 15:35 | but they are still needed for boostrapping the type system, no? | |
| 15:36 | I mean if you want to encapsulate an integer into a PMC, you still have to have that integer | |
| 15:37 | muixirt | it's only useful for pir programmers |
| 15:38 | moritz | no, high level programmers still need a bootstrapped type system |
| 15:39 | muixirt | for example? |
| 15:40 | NotFound | Even if you never use assembler in C programs you benefit from supported functions written in assembler. Same in parrot with HLL and pir routines. |
| 15:40 | moritz | muixirt: as I said, even if you wrap an integer in a PMC, you still need to support an integer at some level |
| 15:43 | muixirt | well rakudo is partly written in pir, so it uses Ixx registers |
| 15:43 | moritz | even if not, it would still use integer operations at some level |
| 15:44 | muixirt | but in generated code it isn't uses, and therefor doesn_t jit very well (or segfaults as it is now the case) |
| 15:45 | particle | muixirt: native types are much smaller and faster than pmcs |
| 15:45 | of course, you need to deal with platform issues like MAXINT | |
| 15:46 | but when speed is required, they're available for use | |
| 15:49 | HG` joined #parrot | |
| 15:50 | muixirt | particle, yeah I noticed that (http://muixirt.wordpress.com/2[…]1/core-business/) |
| 15:52 | particle | muixirt: you don't mention what PMC is currently called, polymorphic container |
| 15:52 | and i don't understand, you can use I and P registers in the same runcore | |
| 15:52 | nathanmccauley joined #parrot | |
| 15:52 | muixirt | particle, am I supposed to? ;-) |
| 15:53 | particle | rakudo doesn't yet implement native types like 'my int $x' |
| 15:53 | muixirt | particle, I don't dispute that (you can use I and P registers in the same runcore) |
| 15:53 | particle | it's not that it ever will |
| 15:53 | ah, you're right, i misread. | |
| 15:54 | i misread "it has two *faces*" | |
| 15:54 | muixirt | in the blog entry I mistyped that, it should be: my Int $var |
| 15:55 | moritz | muixirt: and that makes quite a difference |
| 15:55 | muixirt: because an Int in Rakudo is far from being the same as an $I register in parrot | |
| 15:55 | muixirt | moritz, not in that case of a while loop |
| 15:55 | moritz | you can mix in roles, it can be undef etc. |
| 15:55 | muixirt | ok, i understand: no optimization yet |
| 15:55 | moritz | muixirt: yes. But sadly not all of our programs are that simple :/ |
| 15:56 | particle | no, not optimization |
| 15:56 | my Int $x; # perl 6 integer semantics | |
| 15:57 | my int $x; # native platform integer semantics | |
| 15:57 | muixirt | could parrot optimize that? (instead of rakudo) |
| 15:57 | in principle | |
| 15:57 | moritz | particle: I think muixirt's point is that if rakudo detected that native platform would work in that case, it could use int registers automagically |
| 15:58 | but Perl 6 is *very* dynamic, blocking all sorts of static analysis | |
| 15:58 | particle | ok, it's possible, but it would be difficult |
| 15:58 | and it would be rakudo's job, not parrot's, to optimize | |
| 15:59 | muixirt | moritz, javascript is also very dynamic, but v8 and tm are using integers if they can with quite amazing speed |
| 16:00 | particle, rakudos job ends with the generation of PAST | |
| 16:00 | particle | not true |
| 16:00 | NotFound | There was some talk about optimizations as such at PCT level, but nothing is yet done. |
| 16:00 | particle | the rakudo compiler is free to add optimization steps at any point during compilation |
| 16:01 | muixirt | particle, i know but it doesn't do that, and maybe it needn't |
| 16:01 | NotFound | If some optimizations can be done by the PCT tools, all languages may automatically benefit. |
| 16:01 | particle | rakudo does zero optimisation right now |
| 16:01 | moritz | muixirt: javascript is by far less dynamic than Perl 6 is. Anyway, tracemonkey uses clever JIT compilation, which is thwarted in parrot by the many PIR<->C borders |
| 16:01 | muixirt | NotFound, yes that would be the right thing |
| 16:02 | moritz | for example in javascript you can't bind variables, making them appear in totally unexpected scopes |
| 16:03 | muixirt | moritz, javascript doesn't want to support very proamming paradigm but it is simply dynamic, it can't be more dynamic |
| 16:04 | moritz, in javascript a variable can be everything and that can change throughout the code | |
| 16:04 | payload joined #parrot | |
| 16:06 | PerlJam | somewhere there's a lisp guy lurking and laughing at all this talk of how dynamic javascript and perl 6 are |
| 16:07 | kj joined #parrot | |
| 16:11 | muixirt | apropos javascript, why isn't ecmascript for parrot developed anymore? |
| 16:11 | moritz | muixirt: because nobody does it |
| 16:12 | muixirt | moritz, well why? Technical reasons? |
| 16:13 | PerlJam | muixirt: time, energy, etc. |
| 16:14 | I still believe that aside from perl 6, the most important languages to have on parrot would be javascript and php | |
| 16:16 | muixirt | PerlJam, I doubt that a parrot implementation of php would fit into the php ecosystem |
| 16:16 | dalek | rakudo: a50e07d | pmichaud++ | : |
| 16:16 | rakudo: Merge branch 'ins2' | |
| 16:16 | rakudo: review: http://github.com/rakudo/rakud[…]2330dcb3bc64f8e18 | |
| 16:16 | PerlJam | muixirt: I agree. The php community seems very clue resistant. |
| 16:17 | muixirt | PerlJam, :-) but that is not what i meant |
| 16:17 | gaz joined #parrot | |
| 16:23 | dalek | tracwiki: v96 | Klaus++ | Languages |
| 16:23 | tracwiki: moritz says so | |
| 16:23 | tracwiki: https://trac.parrot.org/parrot[…]on=96&action=diff | |
| 16:23 | muixirt | it seems most languages which were moved away out of the languages directory dropped out of warp |
| 16:24 | PerlJam | muixirt: I think you have that backwards. They were already fallow when they were kicked out of the languages dir. |
| 16:25 | some of the languages were worked on in fits and starts (js is good example) | |
| 16:25 | muixirt | PerlJam, ? |
| 16:25 | purl | PerlJam, is that a 5.005-ism? |
| 16:30 | muixirt | PerlJam, so the implementors ran against some obstacle. Which? |
| 16:31 | kj | muixirt: I worked on ecmascript for a bit |
| 16:31 | PerlJam | muixirt: as I said before ... (lack of) time and energy |
| 16:31 | kj | i ran into the problem of not knowing how it should be done |
| 16:31 | moritz | 95% of all obstacles are "not enough free time", or losing interest |
| 16:31 | kj | which then results in decreasing motivation |
| 16:32 | which then results in re-evaluating your priorities | |
| 16:32 | PerlJam | which then results in your wife/gf/kids/schoolwork/life/whatever getting more of your time :) |
| 16:34 | kj_ joined #parrot | |
| 16:34 | theory joined #parrot | |
| 16:39 | iblechbot joined #parrot | |
| 16:40 | Psyche^ joined #parrot | |
| 16:42 | darbelo joined #parrot | |
| 17:05 | dalek | rakudo: 006ae4d | moritz++ | README: |
| 17:05 | rakudo: notes on installed parrots in README | |
| 17:05 | rakudo: review: http://github.com/rakudo/rakud[…]83fc43f4316441f46 | |
| 17:05 | rakudo: a5aea15 | moritz++ | README: | |
| 17:05 | rakudo: mention perl6-projects.org in README | |
| 17:05 | rakudo: review: http://github.com/rakudo/rakud[…]a2acf98168eb1c58d | |
| 17:10 | HG` joined #parrot | |
| 17:14 | dalek | decnum-dynpmcs: r166 | darbelo++ | trunk/ (2 files): |
| 17:14 | decnum-dynpmcs: Add tests for the 'exp' METHOD, extracted from exp.decTest. | |
| 17:14 | decnum-dynpmcs: This should be the last decTest conversion. | |
| 17:14 | decnum-dynpmcs: review: http://code.google.com/p/decnu[…]urce/detail?r=166 | |
| 17:16 | riffraff joined #parrot | |
| 17:19 | pyrimidine joined #parrot | |
| 17:19 | Psyche^ joined #parrot | |
| 17:20 | mikehh joined #parrot | |
| 17:20 | chromatic joined #parrot | |
| 17:21 | bacek joined #parrot | |
| 17:22 | MoC joined #parrot | |
| 17:32 | Coke joined #parrot | |
| 17:32 | nopaste joined #parrot | |
| 17:35 | Coke | if I want to override a vtable of a dynpmc from PIR, what do I need to do? |
| 17:37 | nevermind. | |
| 17:41 | bah. How are folks outside of core supposed to do "_Parrot_oo_find_vtable_override" ? | |
| 17:45 | Psyche^ joined #parrot | |
| 17:46 | jonathan | Coke: I think I marked that one PARROT_EXPORT recently, or one very similar to it. |
| 17:47 | Coke: I hit the same problem in a Rakudo dynpmc. | |
| 17:47 | Coke | jonathan: how recently? |
| 17:47 | * Coke | rebases. |
| 17:47 | jonathan | Coke: And yes, I know this is a sucky situation if you're trying to stick to Parrot releases. :-( |
| 17:47 | Coke: Few days back. | |
| 17:48 | Coke | nope. |
| 17:49 | perhaps this is a git misunderatnd. | |
| 17:49 | "ing" | |
| 17:50 | jonathan | Coke: It may not have been that one, but one of a similar name...checking... |
| 17:50 | Coke | I have a git-svn repo. I do a 'git svn rebase' there. I have a downstream clone of that; I go there and do "git pull -rebase" - does that copy now have all the updates I downloaded? |
| 17:50 | jonathan: I already gave up any pretense of sticking to parrot releases. | |
| 17:50 | It's just not ready yet. | |
| 17:50 | moritz | Coke: (git) it should, yes |
| 17:50 | jonathan | Coke: I normally do git pull --rebase with straight git, not sure about svn. |
| 17:50 | erm, git-svn | |
| 17:52 | Coke | jonathan: yah, that particular function I want is not marked for export. will test, if it works for my sample, I'll commit. |
| 17:52 | jonathan | Coke: Ah, it was Parrot_oo_find_vtable_override_for_class that I marked. |
| 17:52 | * jonathan | -> shops |
| 17:58 | Coke | ... crap. I can't do make install-dev on my OSX box anymore. :| |
| 17:58 | what a (P*@#&$ pita. | |
| 17:59 | "I will make a change to partcl to take advantage of a vtable instead of defining my own method". | |
| 17:59 | * Coke | wanders off. |
| 18:02 | dalek | TT #773 reopened by coke++: Can't override vtables of a PMC from PIR |
| 18:12 | treed | Null PMC access in find_method() |
| 18:12 | current instr.: 'cardinal;NilClass;main' pc 9168 (cardinal.pir:101) | |
| 18:12 | That's... interesting. | |
| 18:12 | (Should be 'cardinal;compiler;main' OSLT) | |
| 18:13 | Psyche^ joined #parrot | |
| 18:13 | treed | And apparently whatever compreg is returning is also nil. |
| 18:27 | einstein | how can i make in pod C<obj->field>, how can i escape the -> |
| 18:27 | ? | |
| 18:28 | chromatic | C<< ... >> |
| 18:28 | purl | it has been said that C<< ... >> is working POD |
| 18:28 | einstein | ok thanks |
| 18:33 | mikehh | All tests PASS (pre/post-config, smolder, nqp_test, fulltest) at r40503 - Ubuntu 9.04 amd64 |
| 18:33 | it also PASSes on Ubuntu 9.04 i386 | |
| 18:34 | nathanmccauley_ joined #parrot | |
| 18:34 | mikehh | but rakudo doesn't build on it anymore |
| 18:35 | iikm an installed parrot now | |
| 18:35 | Coke | iikm? |
| 18:35 | mikehh | it will |
| 18:35 | Coke | iikm == it will ? |
| 18:36 | mikehh | actually it will only work with |
| 18:36 | wireless keyboard | |
| 18:37 | nathanmccauley__ joined #parrot | |
| 18:40 | mikehh | maybe i typed it will only work from an installed parrot |
| 18:40 | since the ins2 branch | |
| 18:42 | it worked this morning when I tested on i386 but now after the ins2 branch was merged it don't work no more | |
| 18:50 | mokurai joined #parrot | |
| 18:54 | slavorg joined #parrot | |
| 19:04 | davidfetter joined #parrot | |
| 19:06 | eternaleye joined #parrot | |
| 19:13 | eternaleye joined #parrot | |
| 19:19 | mikehh_ joined #parrot | |
| 19:32 | treed | git bisect was able to tell me which commit broke things, but I can't figure out *why* that commit broke anything |
| 19:42 | Coke | bah. sample in #773 isn't calling the PIR override, still. |
| 19:42 | (even with a local mod to PARROT_EXPORT it.) | |
| 19:43 | any clues? | |
| 19:43 | purl | Dee Dee Dee! |
| 19:50 | Coke | where are the function signatures used by vtable_override defined? |
| 19:56 | Argh. | |
| 19:56 | inferior runloop strikes again. | |
| 20:00 | pmichaud | phone |
| 20:01 | treed | Bleh. |
| 20:01 | parrot;Integer has a to_int method | |
| 20:01 | cardinal;Integer definitely can not have that method | |
| 20:01 | cotto | it does that |
| 20:01 | (@Coke) | |
| 20:01 | dalek | rakudo: a04c54b | pmichaud++ | build/Makefile.in: |
| 20:01 | rakudo: Restore lost HAS_ICU definition (colomon++) | |
| 20:01 | rakudo: review: http://github.com/rakudo/rakud[…]e0bbfc704cb5755c5 | |
| 20:01 | rakudo: 67e3439 | pmichaud++ | : | |
| 20:01 | rakudo: Merge branch 'master' of git github.com:rakudo/rakudo |
|
| 20:01 | rakudo: review: http://github.com/rakudo/rakud[…]f01e45c076335735f | |
| 20:03 | treed | I take it that it's not possible to to edit a method list at all? |
| 20:03 | changing the name to to_i would be sufficient | |
| 20:16 | allison joined #parrot | |
| 20:20 | particle joined #parrot | |
| 20:25 | Coke | (&#$ is this a PITA. |
| 20:38 | Tene joined #parrot | |
| 20:38 | Coke | ls |
| 20:38 | Tene | No such file or directory. |
| 20:45 | Coke | alright. so, I had 'toBoolean', a MMD helper sub to get me the boolean of all the various tcl pmcs. (numbers were easy, strings involved some work.) I changed this to use the get_bool vtable. This can't be done in straight PIR, needed an override in tclstring pmc to invoke the PIR version. Now whenever I say something like [ if {"foo"} {puts "hi"} ], I get an inferior runloop error, since the pir is calling to the pmc is calling to the pir wh |
| 20:45 | woof. | |
| 20:46 | Infinoid | that got cut off after "calling to the pir wh" |
| 20:50 | joeri joined #parrot | |
| 20:50 | Tene | Coke: you need splitlong.pl for your irssi |
| 20:51 | Coke | ... irc sucks. =-) |
| 20:51 | to the pmc is calling to the pir which is throwing an error saying it's not a valid boolean value. this causes another 4 of tcl's tests to squawk about the .t exiting with '1' but passing all tests. | |
| 20:53 | make that another 5 tests. | |
| 20:58 | particle joined #parrot | |
| 20:58 | hercynium joined #parrot | |
| 20:58 | Coke | (*&@#$. |
| 20:58 | now git fun trying to commit my 1 line patch back to parrot. | |
| 20:59 | I have a git-svn repo; I have a git clone of that. work in the clone, commit, push. in the git-svn checkout... now I can't do a git svn dcommit. git diff shows nothing changed, but "my index is dirty" | |
| 21:00 | moritz | Coke: what about 'git diff --head'? |
| 21:00 | Coke | invalid option --head |
| 21:00 | moritz | erm, --cached |
| 21:00 | sorry | |
| 21:00 | Coke | that shows my change. |
| 21:00 | (which is already in the log) | |
| 21:01 | moritz | uhm |
| 21:01 | * moritz | confused |
| 21:01 | purl | You won't be after this episode of Soap! |
| 21:01 | moritz | normally git diff --cached shows the changes that are 'git add'ed but not yet committed |
| 21:01 | Coke | this was from a push downstream, as i said. |
| 21:01 | moritz | you could try a 'git reset --hard HEAD' and then dcommit |
| 21:02 | Coke | ok. that worked. can you tell me why the push from the downstream clone caused the borkage? |
| 21:03 | dalek | rakudo: 81e46d5 | pmichaud++ | README: |
| 21:03 | rakudo: Update the README a bit more to explain build+installation process. | |
| 21:03 | rakudo: review: http://github.com/rakudo/rakud[…]ed0d8e2ccd84f9897 | |
| 21:04 | parrot: r40504 | coke++ | trunk/src/oo.c: | |
| 21:04 | parrot: This needs to be exported for HLL developers. | |
| 21:04 | parrot: This will need a make headerizer, which failed in my checkout. | |
| 21:04 | parrot: review: https://trac.parrot.org/parrot/changeset/40504/ | |
| 21:04 | moritz | Coke: somehow a 'git push' doesn't update your working directory, just the "index" (ie the .git files) |
| 21:04 | Coke: and that can cause confusion | |
| 21:04 | Coke | ok. is there a better command than git push to use ? |
| 21:05 | moritz | which is why I use a third repo to syncronize two git repos |
| 21:05 | Coke | I am using a 3 repos. |
| 21:05 | I hesitate to add a fourth. | |
| 21:05 | moritz | so I only ever push to the third repo |
| 21:05 | und pull from the other two | |
| 21:05 | Coke | yes. that's what I'm doing. |
| 21:05 | moritz | I don't know a better command, sorry |
| 21:05 | Coke | except that the one I'm pushing to was created as a git-svn clone. |
| 21:08 | allison, chromatic: is there confidence that whatever lorito turns into, it will resolve the inferior runloop problem? | |
| 21:09 | ttbot | coke: Parrot trunk/ r40504 MSWin32-x86-multi-thread make error http://tt.ro.vutbr.cz/file/cmdout/69276.txt |
| 21:09 | Coke | ttbot: see the comment for that commit. |
| 21:09 | muixirt | Coke, what is the 'inferior runloop problem'? |
| 21:10 | Coke | muixirt: http://rt.perl.org/rt3//Public[…]lay.html?id=57088 |
| 21:11 | has to do with control flow over the C/PIR boundary. | |
| 21:11 | let's say you have PIR that calls C that calls PIR. | |
| 21:11 | if the inner PIR throws an exception, and you try to catch it in the outer PIR, your problem barfs. | |
| 21:12 | cotto | How did the term "inferior" come into use? "nested" or "inner" makes more sense to me. |
| 21:12 | Coke | cotto: presumably it is not fully functional. |
| 21:12 | cotto | That works. |
| 21:12 | Coke | it's certainly better at failing! |
| 21:13 | s/your problem/your program/ | |
| 21:18 | chromatic | Ah, now I have a clean test run. |
| 21:18 | Coke, I believe so. | |
| 21:21 | cotto | chromatic++ |
| 21:21 | nathanmccauley joined #parrot | |
| 21:21 | cotto | does that mean a batch of commits are imminent? |
| 21:22 | AndyA joined #parrot | |
| 21:23 | chromatic | Depends on how bad the other cores are. |
| 21:23 | I need to TODO a test in t/op/interp.t, because interpinfo for PARROT_CURRENT_RUNCORE doesn't give an integer anymore. | |
| 21:23 | I have to fiddle with t/run/options.t as well. | |
| 21:31 | allison | Coke: we'll always have the inferior runloop problem, but the more code that runs in our interpreter environment the less of a problem it will be |
| 21:31 | Coke: so, lorito is definitely a help | |
| 21:34 | Psyche^ joined #parrot | |
| 21:39 | jan joined #parrot | |
| 21:48 | Whiteknight joined #parrot | |
| 22:03 | dalek | tracwiki: v91 | japhb++ | WikiStart |
| 22:03 | tracwiki: Add link to new ModuleEcosystem page | |
| 22:04 | tracwiki: https://trac.parrot.org/parrot[…]on=91&action=diff | |
| 22:04 | tracwiki: v92 | japhb++ | WikiStart | |
| 22:04 | tracwiki: Previous edit didn't autolink | |
| 22:04 | tracwiki: https://trac.parrot.org/parrot[…]on=92&action=diff | |
| 22:12 | cotto | allison, ping |
| 22:13 | joeri left #parrot | |
| 22:13 | Psyche^ joined #parrot | |
| 22:14 | allison | cotto: yo |
| 22:15 | cotto | allison, you don't either know 1) Smalltalk or 2) of a VM other than Squeak that works uses something like Lorito that we could steal the ops from? |
| 22:15 | allison | cotto: no, but I suspect our op set will be pretty unique |
| 22:16 | cotto | You suspect that Squeaks ops wouldn't be sufficient? |
| 22:16 | allison | that is, that we'd likely do best starting with a stripped down set of current parrot ops |
| 22:17 | I suspect Squeak's ops might be overkill in some places, and not sufficient in others, yeah | |
| 22:17 | Whiteknight | I'm not sure that's entirely the best, since Lorito is basically intended to replace components currently written in C |
| 22:17 | there isn't a lot of direct overlap between things currently written in C and the PIR ops | |
| 22:18 | allison | whitenight: except that all our current ops are written in C |
| 22:18 | Limbic_Region joined #parrot | |
| 22:19 | Whiteknight | allison: right, and we're intending to rewrite them in Lorito, which needs to do the same stuff as C |
| 22:19 | allison | so, that gives us the basic behavior we need to support, which can then be broken down into smaller components |
| 22:19 | Whiteknight | okay, I see what you are saying |
| 22:20 | allison | another good perspective, looking at it from the other side, would be a review of our current C functions |
| 22:20 | specifically, the ones that are currently called from ops | |
| 22:21 | Whiteknight | Assuming that we only need one primitive to invoke a VTABLE, that could end up being a very small list |
| 22:22 | (unless we rewrite VTABLEs in Lorito, in which case it won't be) | |
| 22:23 | allison | eventually that's the idea, but we'd still need a way to invoke them |
| 22:23 | Whiteknight | cotto: thanks for the message. I do know the difference between the two words but my stupid fingers usually type them wrong :) |
| 22:23 | chromatic | Mr. Bender, your son has what we call "stupid fingers". |
| 22:23 | allison | invoking a vtable function isn't a single opcode, though, since there are a whole host of different signatures |
| 22:24 | Whiteknight | right right, I'm simplifying. |
| 22:24 | allison | (probably more like the syntactic sugar of current sub and method invocation) |
| 22:25 | Whiteknight | cotto: (although with the girly ads on that page, I thought you had sent me to a porn site) |
| 22:26 | cotto | I didn't see those ads. That was entirely unintentional. |
| 22:27 | eternaleye | Coke: When you are cloning from and pushing to a repository, it is _heavily_ recommended to make it a bare repository. All of the remote-oriented git commands operate on the index and the history without changing the working tree. One sec while I dig up some docs for it. |
| 22:32 | Coke: git FAQ has this http://git.or.cz/gitwiki/GitFaq#Whywon.27tIseechangesintheremoterepoafter.22gitpush.22.3F | |
| 22:35 | Coke: Also, you don't need to distribute them by tarball or use a pure-git pushing system. The git-svn manpage has instructions on how to replicate a git-svn clone (grep for '--add remote.origin.fetch') | |
| 22:40 | rg1 joined #parrot | |
| 22:44 | dalek | tracwiki: v1 | japhb++ | ModuleEcosystem |
| 22:44 | tracwiki: Initial notes from mailing list, translated to WikiFormatting</a>, lightly edited; more editing to come in next rev | |
| 22:44 | tracwiki: https://trac.parrot.org/parrot[…]ion=1&action=diff | |
| 22:50 | rakudo: 5c404cb | (Martin Berends)++ | README: | |
| 22:50 | rakudo: [README] tweak the build and install instructions | |
| 22:50 | rakudo: review: http://github.com/rakudo/rakud[…]1123a66eeec88c249 | |
| 22:56 | bacek joined #parrot | |
| 22:59 | pmichaud | anyone around who can talk about parrot_config a bit? |
| 23:00 | in particular -- I switch Rakudo so that it uses installed parrot instead of build tree, and now it won't build on msvc | |
| 23:00 | (er, msvc++) | |
| 23:00 | my specific question: what is the intended difference between inst_libparrot_ldflags and inst_libparrot_linkflags ? | |
| 23:02 | allison: ping (see above) | |
| 23:02 | purl | I can't find (see in the DNS. |
| 23:03 | ruoso joined #parrot | |
| 23:06 | allison | pmichaud: pong |
| 23:06 | * allison | looking over question |
| 23:07 | kid51 joined #parrot | |
| 23:08 | pmichaud | kid51 might know :-) |
| 23:08 | my specific question: what is the intended difference between inst_libparrot_ldflags and inst_libparrot_linkflags ? | |
| 23:08 | purl | i already had it that way, pmichaud. |
| 23:09 | allison | pmichaud: the difference is whether they use build paths or installed paths |
| 23:09 | pmichaud | huh? |
| 23:09 | I would think that would be the difference between inst_libparrot_ldflags and libparrot_ldflags | |
| 23:09 | and inst_libparrot_linkflags and libparrot_linkflags | |
| 23:10 | i.e., I figured the "inst_" is the distinguishing factor between "installed" versus "build" | |
| 23:10 | allison | oh, that's what I thought you were asking |
| 23:10 | pmichaud | no |
| 23:10 | nopaste | "darbelo" at 200.49.154.172 pasted "inst_libparrot_linkflags and inst_libparrot_ldflags for me." (5 lines) at http://nopaste.snit.ch/17527 |
| 23:10 | pmichaud | we have both inst_libparrot_ldflags and inst_libparrot_linkflags |
| 23:10 | and I'm wondering why two | |
| 23:10 | allison | on linux, ldflags is empty |
| 23:10 | pmichaud | right |
| 23:10 | allison | what is it on windows? |
| 23:11 | pmichaud | looking |
| 23:11 | 22:27 <jnthn> inst_libparrot_ldflags => '' | |
| 23:12 | 22:27 <jnthn> inst_libparrot_linkflags => '-LC:/Consulting/rakudo/parrot_install/lib -lparrot' | |
| 23:12 | allison | looks like ldflags is only used on windows and cygwin |
| 23:12 | pmichaud | the *_linkflags version is apparently wrong for msvc++ |
| 23:12 | however, *_linkflags is what pbc_to_exe is using. | |
| 23:14 | allison | so, inst_libparrot_ldflags is empty on windows too? |
| 23:15 | pmichaud | apparently |
| 23:15 | Austin joined #parrot | |
| 23:15 | allison | (looking at jnthn's entry) |
| 23:15 | pmichaud | my discussion with jonathan is at http://irclog.perlgeek.de/perl[…]9-08-12#i_1389138 |
| 23:15 | if you want to review what we found there to see if there are any clues | |
| 23:15 | allison | *_linkflags is the right field to use |
| 23:15 | pmichaud | okay. partcl is using *_ldflags |
| 23:15 | so is dynpmc/ subdir | |
| 23:15 | allison | if it's wrong on windows then it's a configuration problem |
| 23:17 | ah, but they're only using it as an addition to linkargs | |
| 23:17 | pmichaud | well, that's where we'd be using it |
| 23:17 | i.e. this is occurring when we're building dynpmcs/dynops | |
| 23:17 | allison | aye, but the fact that it's empty means it could just be removed |
| 23:18 | pmichaud | I'm fine with that. |
| 23:18 | removing things is good :) | |
| 23:18 | allison | all that was cargo-culted from the old generated dynoplibs.pl |
| 23:18 | Austin | pmichaud: Is there a way to get (force) integer division in NQP? (Particularly, division by 2) |
| 23:18 | pmichaud | Austin: only using Q:PIR at the moment |
| 23:18 | Austin | Okay, that's what I'm doing. Thanks. |
| 23:18 | allison | try removing *_ldflags entirely |
| 23:18 | pmichaud | okay. We'll do that and report back tomorrowish. |
| 23:19 | we may need to fix *_linkflags then for msvc++... although I'm a little surprised it hasn't bitten us before now | |
| 23:19 | (in pbc_to_exe) | |
| 23:22 | TonyC joined #parrot | |
| 23:22 | allison | pmichaud: is it pointing to the wrong path? |
| 23:23 | pmichaud | I think the problem is that its not formatted as a proper msvc++ argument |
| 23:23 | allison | curious |
| 23:23 | pmichaud | http://irclog.perlgeek.de/perl[…]9-08-12#i_1389293 |
| 23:25 | if jonathan switches it to use libparrot_linkflags then he's able to build | |
| 23:25 | but of course, that's the wrong (build) version | |
| 23:26 | on jonathan's system: | |
| 23:26 | dalek | tracwiki: v2 | japhb++ | ModuleEcosystem |
| 23:26 | tracwiki: Incorporate Allison's first review email notes; visual tweaks | |
| 23:26 | tracwiki: https://trac.parrot.org/parrot[…]ion=2&action=diff | |
| 23:26 | pmichaud | libparrot_linkflags = "C:/Consulting/rakudo/parrot\libparrot.lib" |
| 23:26 | inst_libparrot_linkflags => '-LC:/Consulting/rakudo/parrot_install/lib -lparrot' | |
| 23:27 | allison | my guess? inst_libparrot_linkflags was only configured for cygwin |
| 23:28 | and reini didn't bother to add the regular windows version | |
| 23:28 | pmichaud | okay. |
| 23:28 | I'll pass that along to jonathan. | |
| 23:29 | thanks. | |
| 23:30 | just knowing that *_linkflags is the correct version is a huge help | |
| 23:35 | allison | pmichaud: have him look at config/init/hints/mswin32.pm lines 112-116 |
| 23:35 | pmichaud | I looked at those already |
| 23:35 | allison | yeah, seems like it's missing one for inst_libparrot_linkflags |
| 23:35 | pmichaud | but there must be something else going on there |
| 23:35 | let me look again (I noticed something odd) | |
| 23:36 | allison | yes, there's a default set elsewhere |
| 23:36 | pmichaud | line 253 I found very odd |
| 23:36 | ....but now that I look at it, I'm guessing those are for a different compiler | |
| 23:37 | allison | ah, that's windows gcc |
| 23:37 | pmichaud | something _somewhere_ is setting inst_libparrot_linkflags to be a different value from libparrot_linkflags |
| 23:38 | It seemed odd to me that 253 was using $bindir, somehow | |
| 23:38 | I would've guessed a different dir. I guess it wants the .dll to be in the same dir as the executable, though. | |
| 23:38 | allison | could be |
| 23:39 | * kid51 | reads scrollback ... what is it I'm supposed to know? |
| 23:39 | pmichaud | actually, 253 looks like it's for mingw |
| 23:39 | (is mingw actually gcc?) | |
| 23:40 | I'm guessing that msvc requires changes to line 115 | |
| 23:40 | (around line 115) | |
| 23:41 | nopaste | "kid51" at 68.237.15.24 pasted "mingw" (2 lines) at http://nopaste.snit.ch/17528 |
| 23:42 | pmichaud | kid51++ # thanks |
| 23:43 | kid51 | mingw? |
| 23:43 | purl | i think mingw is a native port of GCC to windows or a contraction for "Minimalist GNU for Windows" or http://www.mingw.org/ |
| 23:44 | kid51 | ... and that's as much as I know about it |
| 23:44 | pmichaud | kid51: thanks. I was wondering about the various configuration options, but I think allison++ has clarified things for me |
| 23:46 | darbelo | mingw is also included in Strawberry Perl |
| 23:46 | purl | okay, darbelo. |
| 23:47 | nathanmccauley_ joined #parrot | |
| 23:48 | patspam joined #parrot | |
| 23:55 | dalek | tracwiki: v3 | japhb++ | ModuleEcosystem |
| 23:55 | tracwiki: More edits from emails | |
| 23:55 | tracwiki: https://trac.parrot.org/parrot[…]ion=3&action=diff |
← Previous day | Index | Channel Index | Today | Next day → | Search | Google Search | Plain-Text | plain, newest first