|
Parrot 2.5.0 Released! | parrot.org | Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | GSOC Students: trac.parrot.org/parrot/wiki/GSoCersStartHere | Priorities: merge gc_massacre, remove deprecated items, add deprecation notices for 2.6, close tickets. Set by moderator on 25 June 2010. |
|||
| dalek | rrot: r47939 | darbelo++ | branches/gsoc_nfg/src/packfile/pf_items.c: Make room for the grapheme table on freeze calculations. |
00:00 | |
| rrot: r47940 | darbelo++ | branches/gsoc_nfg/src/string (2 files): Add a helper function to rehash the graphemes in a table. |
|||
| rrot: r47941 | darbelo++ | branches/gsoc_nfg/src/packfile/pf_items.c: Add NFG thaw support. |
|||
| rrot: r47942 | darbelo++ | branches/gsoc_nfg/src/string/grapheme.c: Improve grapheme table size handling. |
|||
| rrot: r47943 | darbelo++ | branches/gsoc_nfg/src/packfile/pf_items.c: Increment the right variable in the packfile storage loop. |
|||
| rrot: r47944 | darbelo++ | branches/gsoc_nfg/src/packfile/pf_items.c: Add missing '*'s on a few cursors. They are different from the other cursors. |
|||
| rrot: r47945 | darbelo++ | branches/gsoc_nfg/t/op/string_nfg.t: Add freeze/thaw tests. |
|||
| rrot: r47946 | darbelo++ | branches/gsoc_nfg/src/packfile/pf_items.c: Whitespace police. |
|||
| purl | ALL TAB STOPS AT 8 COLUMNS. LINE UP ENCLOSING BRACES. EVERY COMMA HAS A SPACE AFTER IT. AND THIS MEANS *YOU*, BOY! | ||
| plobsing_work | msg ash_ I won't be able to make our weekly meeting today. Can we reschedule? I have all of tomorrow off. | 00:04 | |
| purl | Message for ash_ stored. | ||
| dalek | rrot: r47947 | darbelo++ | branches/gsoc_nfg/src/packfile/pf_items.c: Fix indentation. |
00:17 | |
|
00:58
ash_ joined
|
|||
| ash_ | anyone feel like running some tests for me on non OS X? | 01:08 | |
| dalek | rtcl-nqp: 006b089 | Coke++ | src/Partcl/Actions.pm: if someone refers to a $nonvariable, generate an appropriate error msg. |
01:09 | |
| rtcl-nqp: 6ebb388 | Coke++ | (3 files): now that $foo errors more properly, we can run t/cmd_variable.t |
|||
| sorear | ash_: what tests? | 01:24 | |
| purl | well, tests is what I don't have tuits for | ||
| ash_ | nci tests would be lovely (with libffi) | ||
| sorear | opbots names | ||
| uh... are you asking me to write tests? | |||
| tcurtis | sorear: to run some tests on a platform other than OS X, I believe. | 01:25 | |
| sorear | yes | ||
| I'm asking him what to test | |||
| I have no idea what "nci tests" means | |||
| I understand: coretest, fulltest, codetest, test X all branches X all revisions | 01:26 | ||
| ash_ | umm, coretest | ||
| purl | coretest is all of the tests excluding configuration subsystems and documentation | ||
| dukeleto | long lost cousin of PIR? en.wikipedia.org/wiki/Intermediate_Parakeet | ||
| sorear | ash_: you still haven't specified revision or branch | ||
| ash_ | github.com/ashgti/parrot/ is my repo, (most recent revision) | 01:27 | |
| instead of running all the tests, if you want you can just try "prove t/pmc/nci.t" | 01:28 | ||
| dukeleto | New blog post about PL/Parrot and PL/Perl6: leto.net/dukeleto.pl/2010/06/rakudo...abase.html | 01:30 | |
| ash_ | sorear: also, do you have libffi installed? | ||
| its probably installed if your running linux, but you might not have the headers | 01:31 | ||
| apt-get install libffi-dev for deb-based linux, i'd have to check for any others since i don't use them regularly | 01:32 | ||
| for yum its libffi-devel | 01:33 | ||
| just checked | |||
| sorear | I have libffi-dev 3.0.7-1 installed | 01:35 | |
| good enough? | |||
| ash_ | yup | ||
| sorear | it's more than a year old | ||
| ok | |||
| --optimize? | 01:36 | ||
| ash_ | i have tested back to 2.1 | ||
| sure? i haven't tried --optimize | |||
| (os x includes libffi 2.1, which is a pretty old version) | |||
| sorear | I installed libffi back when I was hacking GHC | 01:37 | |
| you're doing libffi frame builder for GSoC, right? | |||
| ash_ | yeah | 01:38 | |
| basically, it builds the call signature dynamically now, so no need for thunks at compile time | 01:39 | ||
| also added support for C's 'long long' (if the platform supports it) | 01:40 | ||
| the trickiest one will be building on windows with windows compiler... | 01:42 | ||
| libffi works on windows with the windows compiler (according to their read me) so it's possible but the build instructions are a bit more complicated | 01:43 | ||
|
02:11
kid51 joined
|
|||
| sorear | ash_: failed 2 tests nci_fff nci_vfff | 02:15 | |
| ash_ | hmm, k, i'll look into those, i didn't get that, which OS? | 02:16 | |
| dalek | rtcl-nqp: 2a3361c | Coke++ | src/Partcl/commands/main.pm: improved error handling on set a(b) |
02:17 | |
| rtcl-nqp: 18945e6 | Coke++ | t/cmd_append.t: recent fixes elsewhere broke this. need a hand rolled check in [append] which I'm too lazy to do right now. |
|||
| rtcl-nqp: 84cc2b4 | Coke++ | (3 files): fixup [unset] enough to run the test file. |
|||
| sorear | ash_: Linux/i386 | ||
| ash_ | kk, i have a linux computer i can try it on | ||
| dalek | rrot-plumage: 5f4020a | japhb++ | metadata/pynie.json: [metadata] Pynie has moved to a new repository; thanks to fperrad++ for the update |
02:24 | |
|
02:28
Essobi joined
|
|||
| tcurtis has a new least favorite bug. | 02:35 | ||
|
02:35
janus joined
02:42
TiMBuS joined
|
|||
| cotto | ~? | 02:44 | |
| purl | ~ is throwing her off | ||
| cotto | ~! | ||
|
02:44
theory joined
|
|||
| tcurtis | msg moritz I think I've got your problem fixed. Haven't committed yet, though. | 02:44 | |
| purl | Message for moritz stored. | ||
| ash_ | hmmm sorear i got the same error on 386 (or is it 686?) linux, looking into it | 02:50 | |
| sorear | 386 | 02:51 | |
| 386 is the architecture, 686 is a specific model | 02:52 | ||
| a "686" linux has been optimized for, and will not run on anything less than, a ppro | |||
| but it is observationally identical to a "386" linux | |||
| cotto | I have a dual PPro machine sitting in my laundry room. | 02:57 | |
| I don't observe it very often. | 02:58 | ||
|
03:38
LoganLK joined
|
|||
| dalek | rrot: r47948 | tcurtis++ | branches/gsoc_past_optimization/runtime/parrot/library/Tree/Pattern.nqp: Make Tree::Pattern::patternize work even if Sub has a non-working .ACCEPTS method. Make it work in moritz++'s Rakudo branch. |
03:51 | |
| tcurtis | msg moritz That problem should be fixed. For some reason, the subs were appearing to have a .ACCEPTS method... which turned out to try to invoke a null sub somewhere. But, it's fixed now, as far as I can tell. | 03:52 | |
| purl | Message for moritz stored. | ||
| ash_ | i feel like this some days xkcd.com/722/ | 04:01 | |
| tcurtis | Anything sounds trivial with the right phrasing, ash_. | 04:03 | |
| bacek || bacek_at_work: ping | 04:09 | ||
| ash_ | well, maybe i can just tell everyone that they need to use 64 bit computers now... | ||
| this bug seems to only happen in 32 bit | |||
| cotto | I guess I can do that. | 04:12 | |
| cotto sets his 32-bit laptop on fire | |||
| Hmmmm. Warm, yet noxious. | 04:13 | ||
| You'd think I'd be offline several minutes after setting my laptop on fire, or at least that it'd be hard to type. | 04:22 | ||
| bacek_at_work | tcurtis, barely here | 04:24 | |
| ash_ | nah, your probably just a bit more stubborn than most when it comes to being productive on a burning computer | ||
| some laptops feel like they are on fire when you leave them in your lap and hit compile | 04:25 | ||
| tcurtis | bacek_at_work: any suggestions on optimizations to work on for PIRATE? | ||
| bacek_at_work | tcurtis, constant folding? | 04:26 | |
| ash_ | why would Parrot_pcc_fill_params_from_c_args return 0 for all but the last argument with the parameters NNN | 04:27 | |
| and only on 32 bit systems | |||
| tcurtis | bacek_at_work, alright. | ||
| ash_ | hmm i am going to have to figure this out in the morning | 04:28 | |
| bacek_at_work | tcurtis, check compilers/pirc/README.pod in parrot repo. "=head3 Constant Folding" | ||
| tcurtis, it's bare minimum which we need for self-hosting PIRATE. | 04:29 | ||
| ash_ | tcurtis: if your at a loss, llvm.org/docs/Passes.html has a bunch of good ideas,although they might not all apply to PIRATE | 04:30 | |
| bacek_at_work | after, we can implement proper Constant Propagation, more aggressive folding, tailcall optimizations, etc. | ||
| ash_ | the section on Transform Passes lists all the llvm passes | 04:31 | |
| night & | |||
| tcurtis gets to work. | 04:32 | ||
| cotto | clock? | 04:45 | |
| purl | cotto: LAX: Wed 9:45pm PDT / CHI: Wed 11:45pm CDT / NYC: Thu 12:45am EDT / LON: Thu 5:45am BST / BER: Thu 6:45am CEST / IND: Thu 10:15am IST / TOK: Thu 1:45pm JST / SYD: Thu 2:45pm EST / | ||
| GeJ | and NOU: Thu 3:45pm NCT | 04:52 | |
| cotto | literal clock? | 04:54 | |
| purl | cotto: clock =is= <rss="rjbs.manxome.org/rss/clock.cgi"> | ||
|
05:10
fperrad joined
|
|||
| bacek_at_work | cotto, any luck with git rebasing? | 05:13 | |
| cotto | I haven't tried it yet. | 05:23 | |
| bacek_at_work | cotto, ok. Good luck anyway :) | 05:30 | |
| dalek | nxed: r528 | NotFound++ | trunk/winxedst1.winxed: stop assigning sub params to new registers in stage 1 |
05:50 | |
| tcurtis | One of the subtle niceties of git is that there's nothing wrong with committing code before it works. | 05:56 | |
|
06:03
uniejo joined
|
|||
| moritz | :-) | 06:33 | |
| NotFound | The next step will be to allow to commit code before writing it. | 06:40 | |
| That technology combined with python "import from future" will be awesome. | 06:42 | ||
| moritz | tcurtis: btw you really fixed my problem, thanks | 08:16 | |
| tcurtis | moritz: good to hear. As always, let me know if any more show up. | 08:19 | |
| dalek | kudo: 3d2cb82 | moritz++ | t/spectest.data: run test file for @*ARGS |
08:35 | |
| cotto | bacek_at_work, your instructions worked! Thanks. | 08:38 | |
| bacek | clock? | ||
| purl | bacek: LAX: Thu 1:38am PDT / CHI: Thu 3:38am CDT / NYC: Thu 4:38am EDT / LON: Thu 9:38am BST / BER: Thu 10:38am CEST / IND: Thu 2:08pm IST / TOK: Thu 5:38pm JST / SYD: Thu 6:38pm EST / | ||
| bacek | It's almost 7PM! No more _at_work for today! :) | ||
| cotto | which means it must be almost 0200 for me. | 08:40 | |
| extravagantly broken branch pushed | 08:42 | ||
| night | |||
| bacek | good night, cotto! | 08:43 | |
| how badly it's broken? | |||
|
08:51
AndyA joined
09:29
mikehh joined
|
|||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#34669), fulltest) at r47948 - Ubuntu 10.04 i386 (g++) | 10:14 | |
| t/op/exit.t - TODO passed: 6 in testf | |||
| the TODO pass only occurs on the x86 version not the x86_64 | 10:15 | ||
| pir/PIRATE (63b457e) - build ok / test PASS - on parrot at r47948 - Ubuntu 10.04 i386 (g++) | 10:22 | ||
| partcl-nqp (84cc2b4) - make ok, make test PASS - on parrot at r47948 - Ubuntu 10.04 i386 (g++) | 10:29 | ||
| starting to build/test rakudo - letting it run - have to go out for a bit | 10:32 | ||
| a) it seems to take a bit longer on i386 and b) about twice as long with an unoptimized version of parrot :-} | 10:33 | ||
|
10:42
clinton joined
|
|||
| dalek | r: 619c372 | bacek++ | (6 files): Little be more proper support of :main subs |
11:25 | |
| r: 9891ac2 | bacek++ | src/POST/Key.pm: Add POST::Key.Str method for stringification. |
|||
| r: 694f13f | bacek++ | src/POST/Sub.pm: Add POST::Sub.full_name which includes namespace (if any). |
|||
| r: 1e75f98 | bacek++ | src/PIR/Actions.pm: Use Sub.full_name for choosing :main sub |
|||
| r: df0d73c | bacek++ | src/PIR/Actions.pm: Don't introduce bogus variables during handling of $*HLL and &*NAMESPACE. |
|||
|
11:32
bkuhn joined
11:47
pmichaud joined
|
|||
| dalek | r: e5fe1a5 | bacek++ | t/post/subs.txt: Add test for .namespace handling |
11:52 | |
|
11:52
dukeleto joined
11:56
ruoso joined
12:00
lucian joined,
bluescreen joined
12:03
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 12:05 | |
|
13:10
dalek left,
dalek joined
13:13
ambs joined
|
|||
| mikehh | rakudo (3d2cb82) builds on parrot r47948 - make test PASS, spectest_smolder -> #34671 (pugs r31522) FAIL - Ubuntu 10.04 i386 (g++) | 13:29 | |
| t/spec/S32-num/rat.rakudo - Failed test: 798 | |||
| 18 TODO PASSes in 4 files | |||
| whiteknight | that email about the VMIL workshop looks very interesting. | 13:37 | |
| it's the kind of thing I would love to go to, but can't this year | |||
| Besides giving a general overview of what Parrot is and what it does, I'm not sure we have a whole lot of new research or any good-looking data to share with people | 13:38 | ||
|
13:41
ash_ joined
|
|||
| mikehh | pir/PIRATE (e5fe1a5) - build ok / test PASS - on parrot at r47948 - Ubuntu 10.04 i386 (g++) | 13:42 | |
| whiteknight | We do have some very cool new things on the horizon, especially if GSoC pans out: hybrid threads, the ability to write optimizions for your compiler in the language you are compiling, etc | ||
| ash_ | how is the thread work going? | 13:43 | |
| whiteknight | ash_: a little slowly, but well considering | ||
| I was under the impression that Parrot had more support than it actually does. Much of the things that we do currently have (scheduler, timers, tasks) either don't work as advertised, don't work at all, or only work on accident | 13:44 | ||
| and several tests we have which "prove" these things work are faulty | |||
| so Chandon is working around all those issues. | 13:45 | ||
| ash_ | yeah, i know if you had a hll loaded and you tried to make a thread you used to always get an error | ||
| that was an issue at one point for sure | |||
| mikehh | It also argues for better test driven development, rather than tests as an afterthought, which really don't give good coverage | 13:47 | |
|
13:48
whiteknight joined
|
|||
| mikehh | and I think we also should adopt Rakudo's policy of not signing off a ticket until an appropriate test is also included | 13:49 | |
| whiteknight | mikehh: I do generally like that idea, though there are a few areas where that's not really an option yet | 13:50 | |
| comprehensive testing of command-line arguments, comprehensive testing of bytecode, etc. | |||
| mikehh | sure, but we should push towards it | ||
| whiteknight | no arguments. I just don't want a rule put in place before we have the infrastructure to support it | 13:51 | |
| but it is an important goal | |||
| NotFound | We don't even have yet basic testing of core features. | ||
| mikehh | we get too many surprises, for example, your comments about threading, because we get - "but, the tests passed" | 13:52 | |
| NotFound | I'm tempted of deleting all uncovered code, the wait for HLL feedback about what broke and how to test it X-) | ||
| mikehh | like that idea +1 or more :-} | 13:53 | |
| NotFound | mikehh: much more surprised me last month when I broke such a basic feature as substr and all test passed. | 13:55 | |
| Things are improved now, but there is still a lot to do. | 13:56 | ||
| whiteknight | purl msg Chandon www.cs.iastate.edu/~design/vmil/200...8-marr.pdf It's a really short paper (more of a long abstract), but mentions concurrency in VMs. You might be able to follow-up with some later work by these people to see what kinds of concurrency stuff they like and what they recommend | 13:57 | |
| purl | Message for chandon stored. | ||
| mikehh | Notfound: yeah, this seriously wories me at times, we get no or maybe one failing test for some serious pronlems | ||
| NotFound | Note also that there are tests that checks just basic functions of the pmc, like initializing and setting and getting values, but fails to check realistic usages. | 13:59 | |
| Sometimes they are exercised in tests for completrly different things X-) | 14:00 | ||
| Coke | NotFound: that's because of the "one test per PMC!" coverage drive, I suspect. | ||
| sorry <<coverage>> | |||
| glad to see your work on actual code coverage. | |||
| NotFound | For example, ExceptionHandler is much more and better tested outside exception.t and exceptionhandler.t than inside. | 14:01 | |
|
14:02
bubaflub joined
|
|||
| particle | imo the t/pmc tests should exercise the pmc's api, and other tests should exercise use cases | 14:02 | |
| mikehh | yes, but we need both | 14:03 | |
| NotFound | Yeah, I'm thinking about ripping most of pmc/exception.t and pmc/exceptionhandler.t and create a new file out of the pmc/ dir | ||
| Coke | here's a new plan: get 100% coverage first. sort tests later. =-) | 14:04 | |
| ash_ | why is it NUMVAL_SIZE when in other places you use FLOATVAL in the C stuff? | ||
| NotFound | Coke: but I don't want to wait several geologic ages ;) | ||
| ash_ | kinda expected that to be 'FLOATVAL_SIZE' /shrug | ||
| for that matter, is there a reason its FLOATVAL? Not NUMVAL? (since almost everywhere else floating point numbers are called nums) | 14:06 | ||
| NotFound | ash_: probably just because nobody care enough to ask for renaming it. | 14:07 | |
| mikehh | ash_: depends on architecture and things like double or long double | 14:08 | |
| I would think a FLOATVAL_SIZE would be sizeof (float) | |||
| ash_ | mikehh: NUMVAL_SIZE should always be the sizeof(FLOATVAL) (if i am not mistaken) | 14:09 | |
| see, here's the naming inconsistency, FLOATVAL is a num register, but sometimes in the C code you have to replace FLOAT with NUM | 14:10 | ||
| particle | feel free to fix naming inconsistencies, as long as there's a clear path past the deprecation | 14:13 | |
|
14:14
bubaflub_ joined,
gbacon joined
|
|||
| ash_ | in the includes/parrot/config.h file towards the bottom there is a list of #define's which are like INTVAL_SIZE 4 (32 bit system for the config) NUMVAL_SIZE 8 etc... this file also defines typedef FLOATVAL double (i know floatval depends on the system, and you can tell the config script to set it to whatever you want) | 14:17 | |
| err, that typedef is backwards | |||
| FLOATVAL makes some sense though, because its the Parrot_Float type, but there are still places where NUM is used instead of FLOAT | 14:19 | ||
| mikehh | ash_: I could only find one #define for NUMVAL_SIZE (=8) lots of tests using it but only one #define and NO assigns | 14:20 | |
| ash_ | well, should that be FLOATVAL_SIZE? | ||
| mikehh | possibly, but that ain't there | 14:21 | |
| NotFound | I'd like better to nuke all 'float' usages, they are just confusing with C float. | 14:22 | |
| If is 'num', use num everywhere. | |||
| mikehh | looks like it was considered to have possible different values (float, double, 2 variants of long double (12 and 16)) but not used anywhere other than double | 14:23 | |
| NotFound | mikehh: consider whatever you want, but use clear names for the most frequent usage. | ||
| ash_ | i'll just use sizeof(FLOATVAL) for now instead of those #defines... | 14:24 | |
| mikehh | NotFound: was just saying that that was what I thought happened in the past, and that it now is only defined in one place (as 8) | 14:25 | |
| I was not around when it happened so it is just speculation | 14:26 | ||
| NotFound | mikehh: we have also HUGEFLOATVAL, DOUBLE_SIZE... | ||
| But if you configure to use for example long double, that type becomes FLOATVAL | 14:27 | ||
| Wich is confusing for any C programmer, calling NUMVAL will be a better hint of being related to a type defined by parrot, not to a native C type. | 14:28 | ||
| Anyway, I don't care enough to patch most of parrot C files because of that X-) | 14:31 | ||
| ash_ | lol, maybe someone will in the future if it becomes an issue | 14:32 | |
| NotFound | ash_: we have enough clear and present problems, let's solve future issues in the future. | 14:33 | |
|
14:36
bluescreen joined
|
|||
| whiteknight | avoiding future issues now is a virtue too | 14:42 | |
| atrodo | Ostrich Syndrome? | ||
|
14:43
patspam joined
|
|||
| NotFound | whiteknight: yes, but I choose wich ones worries me. | 14:44 | |
| whiteknight | NotFound: of course! volunteers have lots of freedoms like that | ||
| NotFound | That one, I don't spend an euro cent. | 14:45 | |
| ash_ | so... would anyone argue if I made a patch to s/FLOAT/NUM/ ? | ||
| whiteknight | ash_: No complaints from me. Consistency++ | ||
| particle | well, our N registers store what? | 14:46 | |
| NotFound | ash_: your only risk is that no one care enough to commit it. | ||
| particle | native floats | ||
| ash_ | or doubles | ||
| or long doubles | |||
| NotFound | particle: FLOATVALs | ||
| ash_ | hence the reason i brought it up, FLOATVAL isn't a float (always) | ||
| whiteknight | yeah, it's all FLOATVAL | 14:47 | |
| particle | right, sorry | ||
| FLOATVAL | |||
| purl | FLOATVAL is a double, right? | ||
| particle kicks purl | |||
| purl blocks! Paint the fence! | |||
| particle | purl, forget FLOATVAL | ||
| purl | particle: I forgot floatval | ||
| NotFound | purl: go sit in a corner | ||
| purl | NotFound: what? | ||
| particle | s/FLOATVAL/NUMVAL/ gets ++ from me | ||
| s/FLOAT/NUM/ i'm not sure about | 14:48 | ||
| ash_ | alright | ||
| thats fine | |||
| whiteknight | definitely add some #defines to map FLOATVAL to NUMVAL though, don't want to get accused of breaking the deprecation policy by our embedders | ||
| particle | yes, still need to #define | ||
| and put in a deprecation notice | 14:49 | ||
| ash_ | yeah, sure, just in the future it can be a bit more consistent | 14:50 | |
| whiteknight | and sacrifice a chicken, for good luck | ||
| NotFound | Or a bot | ||
| whiteknight | kill purl! | ||
| NotFound | Throw a virgin bot to the volcano. | 14:51 | |
| mikehh | winxed r528 - make all ok, make test/test1/test2 PASS - on parrot at r47948 - Ubuntu 10.04 i386 (g++) | ||
| moving over to amd64 - brb | |||
| ash_ | i really wish there was an easy way of managing untyped memory in C | 14:52 | |
| NotFound | ash_: easier than malloc/free? | 14:53 | |
| ash_ | thats not the hard part | ||
| right now i am doing things like, i want to get a reference to the start + sizeof a double + sizeof a pointer | |||
| and pass that to something else | 14:54 | ||
| mikehh | NotFound: btw I had a file in winxed - winxedst2.c not under version control and does not get deleted by make clean | ||
| arnsholt | ash_: Might be useful to write a small helper function? | 14:55 | |
| NotFound | mikehh: yes, I forgot to add pbc_to_exe intermediate files to clean. | ||
| arnsholt | Pass in the buffer and a varargs of size_t params and returns the new buffer | ||
| NotFound | ash_: that does not sound exactly untyped to me. | 14:56 | |
| ash_ | well i am making the memory space via malloc, but i don't know the offsets i need till runtime | 14:58 | |
| its for NCI, so if the function takes "fff" so 3 floats, i need to malloc memory for all 3 of them, and set the parameters correctly for ffi_call, i realized why on 32-bit systems i get an error, on 64 bit systems, I can just use void* * arity, because sizeof (FLOATVAL) == sizeof (void*) but that was a bad assumptions, since it fails to be true on 32 bit systems, and i realize that now | 15:01 | ||
| NotFound | ash_: you just need to add the appropiate sizeof, no need for more C support. | 15:02 | |
| ash_ | well, if i want to one day support passing a struct, i need to calculate the size of the args dynamically, so now i loop throw the args and add up the size of each | 15:04 | |
| through* | 15:05 | ||
| NotFound | ash_: even worse, for structs you need to care about alignment and padding | ||
| ash_ | yup | ||
| whiteknight | ash_: As a small nit, in the final product don't use malloc. The GC provides functions to allocate/free memory chunks | 15:10 | |
| (at the moment that redirects to malloc/free, but it won't for all cores) | |||
|
15:10
Andy joined
|
|||
| mikehh | brb | 15:11 | |
| ash_ | i am not using malloc directly, i am using mem_internal_allocate, mem_internal_allocate_n, mem_internal_allocate_zeroed, and mem_internal_allocate_n_zeroed_typed | ||
| and mem_sys_free and Parrot_str_free_cstring | 15:12 | ||
| whiteknight | ash_: Ah, okay. That's acceptable. You're probably still going to want to move towards the Parrot_gc_allocate_memory_chunk functions eventually. Again, small nit | ||
| ash_ | i didn't know if i should use the gc'ed version or not.... | ||
| NotFound | ash_: you can also consider ByteBuffer for some usages, it garbage collects its assigned memory. | 15:13 | |
| ash_ | since these are randomly sized chunks of data that NCI's invoke only knows about that get freed by the end of the NCI invoke call | ||
| I might look into ByteBuffer, that could make some of this a bit easier I expect | 15:15 | ||
| whiteknight | ash_: Like I said, the Parrot_gc_* functions are basically just wrappers for malloc/free, so they aren't automatically managed | ||
| ash_ | but the memory is very short lived, it only lasts until the end of the NCI invoke, then I free it | ||
| whiteknight | but future GC cores may want to not use malloc/free, so that gives some flexibility | 15:16 | |
| Coke | msg pmichaud - if nqp-rx is going to change to not use CONTROL exceptions internally, we should probably add a notice for that somewhere. | ||
| purl | Message for pmichaud stored. | ||
| ash_ | well, i guess if i switch to the Parrot_gc_* i might not have to free it myself, but it isn't used after invoke | ||
| pmichaud | Coke: +1 to adding a warning. | ||
|
15:26
mikehh joined
|
|||
| dalek | nxed: r529 | NotFound++ | trunk/Makefile: delete pbc_to_exe intermediate files in make clean, mikehh++ |
15:36 | |
|
15:41
mmcleric joined
|
|||
| ash_ | sizeof(INTVAL) should always == sizeof(void*) right? | 15:57 | |
| particle | absolutely not | 16:06 | |
| it's not true on windows x64 | 16:07 | ||
| www.unix.org/version2/whatsnew/lp64_wp.html | 16:09 | ||
| cotto | ~~ | ||
| ash_ | INTVAL is long (normally i think) | 16:10 | |
| i guess on LLP64 its not true though | |||
| lunch & | 16:11 | ||
| NotFound | Anyway, is better to not make such assumptions, even if you don't know any counterexample. | ||
|
16:20
theory joined
|
|||
| ash_ | well, i am taking all of my assumptions out anyway | 16:29 | |
| Coke | openfoundry.org-- | ||
| darbelo | particle: parrot does assume | 16:34 | |
| particle: parrot does assume sizeof(INTVAL) == sizeof(void *) | |||
| ash_ | yah, i thought it used INTVAL's to hold pointers in some places... | 16:36 | |
| particle | darbelo: it's a terrible assumption that's been very difficult to remove | ||
| darbelo | And our packfiles will probably go up in flames if sizeof(INTVAL) != sizeof(opcode_t) | ||
| particle | that assumption *must* be removed | 16:37 | |
| but it ain't gonna be easy | |||
| iirc we do have fuction to data macros | 16:38 | ||
| *function pointer | |||
| those must be modified on platforms where inval != void* size | |||
| cotto_work | particle, you could start a wiki page of patterns to look for. | 16:41 | |
| particle | the wiki page could simply contain windows x64 build output | ||
| ash_ | does windows have an easy way to setup an .dll with header files? | 16:42 | |
| so I could make an installer for libffi for windows folks | 16:43 | ||
| darbelo | I kind of doubt it. | 16:47 | |
|
16:48
ambs joined
|
|||
| ash_ | maybe not easy, but does windows have any way of doing that? i don't know the windows build environment | 16:49 | |
| cotto_work | particle: it'd be a start. | 16:52 | |
| Chandon | Why can't INTVAL simply be the native integer type of equal size to void pointer, even if on Windows that's "extra_long_int64_t"? | 16:53 | |
| ash_ | Chandon: that's a bad assumption if you have to change between memory architectures, hence why when 64 bit computers first came out, lots of 32 bit stuff didn't work | 16:55 | |
| NotFound | Or if you want to be able to select other types at Configure. | 16:58 | |
| ash_ | true, thats another great point | ||
| Chandon | NotFound: I would't make too many bets on that working. For example, if FLOATVAL is ever smaller than 64 bit the entire world will explode. | 16:59 | |
| NotFound | Chandon: Why? | ||
| dukeleto | VMIL sounds interesting: www.cs.iastate.edu/~design/vmil/2010/ | 17:00 | |
|
17:01
tcurtis joined
|
|||
| ash_ | Chandon: a normal C float is only 32 bits... and a double is 64 bits, you can have a long double too even | 17:03 | |
| anyone from parrot going to try to attend VMIL? | 17:04 | ||
| Chandon | NotFound: For example, there's a function called Parrot_floatval_time() that gets used in a bunch of places that returns the current UNIX time as a FLOATVAL. If floatvals were 32 bits, this wouldn't even be accurate to 1 second. | ||
| NotFound | Chandon: good point | 17:09 | |
| ash_ | tcurtis: did you see that list of optimization passes that the llvm has? you can look into those if you want to try doing some of those in parrot, the source is under a BSD license, and written in C++ | ||
| time as a float seems odd.. | 17:10 | ||
| tcurtis | ash_: Yeah. | ||
| Thanks for reminding me of it. | 17:11 | ||
| Chandon | ash_: Why's that? Usually you think of time as a continuous number rather than a discrete number, and if you're actually using times for anything on a computer an imprecise mental model is much more realistic than a precise one. | 17:13 | |
| If you say usleep(100), you're not going to return in 100 microseconds. | 17:14 | ||
| ash_ | well, i normally separate the units of time in my head, mainly because its not on a base 10 scale, 60 seconds in a minute, 60 minutes in an hour, 24 hours in a day seem so arbitrary i normally don't think of them as a single thing but as individual pieces | 17:16 | |
| but i am also always late, and don't ware a watch so time is sorta a myth | |||
| purl | okay, ash_. | ||
| ash_ | for me | ||
| Chandon | Yea, that makes sense for big (>seconds) time. Obviously everyone in the world should start talking in kiloseconds and megaseconds as of today to solve that problem. | 17:19 | |
| atrodo | I ask the question, why not? | ||
| ash_ | why not think in kiloseconds? | 17:21 | |
| Chandon | Days are a pretty natural unit, and 86.4 kiloseconds is a funny number. | ||
| ash_ | maybe we should adjust the scale too, so 1 day is = 1 megasecond and move backwards from there | 17:22 | |
| Chandon | That sort of thing seems like a good idea, and then I realize that I still buy my gasoline in gallons. | 17:24 | |
| ash_ | and i measure temperature in fahrenheit and measure distance in miles.... | 17:26 | |
|
17:28
eternaleye joined
|
|||
| dalek | rtcl-nqp: 0bd0fb9 | Coke++ | src/Partcl (2 files): Implement [expr]'s bitwise not. |
17:33 | |
| rtcl-nqp: 3ba6229 | Coke++ | src/Partcl/commands/main.pm: Fail early; give a slightly more useful error message if an non-parsable |
|||
| nxed: r530 | NotFound++ | trunk/winxedst1.winxed: simplify lexing of operators |
17:36 | ||
| cotto_work | How surprising. The linear scan allocator actually works for a simple pir program. | 17:39 | |
|
17:43
clinton joined
|
|||
| cotto_work | only 15 failures | 17:47 | |
| but there is at least one glorious segfault with a backtrace | |||
|
18:02
joeri joined
|
|||
| whiteknight | cotto_work: that's decent progress, considering you only started it yesterday | 18:09 | |
| PIRATE might just be the rapid-prototyping paradise we've always wanted | 18:10 | ||
| cotto_work | I thought about it for a day or two first. | ||
| but it's a nice simple algorithm | |||
| yes. It's ideal for that. | 18:11 | ||
| way more fun than C, even if it's much slower | |||
| pmichaud: ping | 18:12 | ||
| pmichaud | cotto_work: pong | ||
| cotto_work | pmichaud: any thoughts on ... in nqp-rx? | ||
|
18:13
davidfetter joined
|
|||
| cotto_work wonders | 18:25 | ||
|
18:35
gaz joined
|
|||
| ash_ | can nqp-rx do nqp->pbc? | 18:44 | |
| dukeleto | ash_: nqp can be turned into pir, then pir->pbc | 18:48 | |
| ash_ | wasn't someone working on directly going from nqp to pbc? | 18:49 | |
|
18:49
davidfetter joined
|
|||
| tcurtis | ash_: PIRATE has a direct POST->PBC stage. | 18:53 | |
| cotto_work | its POST is different from nqp-rx's though (for now) | ||
| ash_ | got ya | 18:54 | |
| cotto_work | PIRATE's POST is much better-suited to generating pbc directly. nqp-rx's current POST is very stringy. | 18:55 | |
| ash_ | so, is that the major difference? | 18:56 | |
| would it be a lot of work to translate nqp-rx's POST to be more PIRATE like? | |||
|
18:56
integral joined
|
|||
| cotto_work | I don't know. bacek plans on doing it though. | 18:56 | |
|
19:02
LoganLK joined,
bubaflub joined
19:18
hercynium joined
|
|||
| dalek | nxed: r531 | NotFound++ | trunk/winxedst1.winxed: fix for named args in stage 1 |
19:27 | |
| cotto_work | tcurtis, I like what you're doing for PIRATE. | 19:41 | |
| thanks. | |||
| tcurtis | cotto_work: thanks. It's essential for it to actually be usable in place of IMCC, since the ops I'm optimizing away don't exist. | 19:43 | |
| cotto_work | Yes. That doesn't make it less cool though. | ||
| I had to work around some of those limitations when writing test cases. It'll be nice to have them out of the way. | 19:44 | ||
| whiteknight | do we have a list of ops like that, which don't really exist? | 19:49 | |
| cotto_work | src/ops/ops.skip | 19:50 | |
| whiteknight | oi | 19:53 | |
| atrodo | vey | ||
| tcurtis | whiteknight: I don't think the ops in question are generally documented as existing in the first place. I think they're all just the result of giving a constant argument to ops that can be sensibly folded. | ||
| cotto_work | I'm sure the list can be culled. There's nothing to prevent non-existent ops from showing up there iirc. | 19:54 | |
| Since the ops aren't used, though, there's no non-manual way to verify that you're removing something that should be removed. | 19:56 | ||
| I guess a little opsc hacking would do it though. | |||
|
19:59
tcurtis joined
|
|||
| whiteknight | the problem is that opsc is generating nonsensical op bodies, like eq_ic_ic_ic | 20:01 | |
| anything with an OUT shouldn't be constant, methinks | 20:02 | ||
| and all the i and n primitives should be folded | |||
| tcurtis | whiteknight: eq doesn't have an out parameter | ||
| whiteknight | er, ic and nc primitives | ||
| cotto_work | That looks like a problem with the op definition. | ||
| tcurtis | You're thinking of iseq | ||
| whiteknight | ah yes, I am. | 20:03 | |
| damned confusing ops | |||
| like it would have killed anybody to call that op " branch_if_equal" | |||
| cotto_work | opsc just does what it's told | ||
| whiteknight | ohs noes! t3h long op names are murderizing mah fingahs! | 20:04 | |
| grumble grumble | 20:05 | ||
| whiteknight is packing up and going home. Later. | |||
| dalek | nxed: r532 | NotFound++ | trunk/winxedst0.cpp: fix bug of "using" in root namespace in stage 0 |
20:16 | |
|
20:20
patspam joined
20:25
pjcj joined
|
|||
| cotto_work | tcurtis: how much documentation exists on your gsoc project? | 20:26 | |
| tcurtis | cotto_work: some. but it's a little out of date. | 20:27 | |
| cotto_work | Do you have a spot on your schedule to get it updated? | 20:29 | |
| tcurtis | cotto_work: I could work on it right now. | 20:32 | |
| cotto_work | thanks | 20:33 | |
| bacek | aloha, humans | ||
| dukeleto | bacek: greetings, carbon-thing | 20:34 | |
| bacek | dukeleto, hello, meat-bag :) | ||
| cotto_work | bacek, are you up with nqp-rx enough to know why it seems that my queries about adding ... seem to fall into a black hole? | 20:38 | |
| bacek | cotto_work, yada-yada-yada in nqp? I probably can implement it. | 20:39 | |
| moritz | cotto_work: it's probably the pmichaud bottleneck | ||
| cotto_work | I have implemented it and put in a pull request. | ||
| jnthn | cotto_work: Use case? | 20:40 | |
| cotto_work: Also, what does it to in the nqp-rx implementation? | |||
| cotto_work | It's easier than pir::die("..."); | ||
| github.com/cotto/nqp-rx/commit/56d4...f602225dad | |||
| jnthn | Ah | ||
| Thing is that ... in Perl 6 does not die. | 20:41 | ||
| And we're trying to keep nqp-rx as a subset of Perl 6. | |||
| ... returns a Failure object, which doesn't really exist in Parrot | |||
| !!! is the ... equivalent that dies | |||
| Anyway, I can't speak for pmichaud++ but that's my first guess at what he might say in response to the patch. :-) | 20:42 | ||
| cotto_work | I saw that &fail and wasn't sure what the best equivalent in nqp-rx would be. | ||
| !!! would be fine. It jumps out more too, which is good. | 20:43 | ||
| thanks for helping get me straightened out on that | |||
| dukeleto | jnthn: is !!! the klingon operator? | ||
| jnthn | cotto_work: I think the patch with !!! instead of ... is likely to have a better shot at being agreed to by Pm, anyway. | 20:44 | |
| dukeleto: Well, it results in death... :-) | 20:45 | ||
| cotto_work | wfm. I'll give it a shot. | ||
| Do I assume correctly that any new nqp-rx feature should have his approval? | 20:46 | ||
| dukeleto | cotto_work: that is a good assumption | ||
| cotto_work | (as opposed to someone else with a commit bit) | ||
| bacek | cotto_work, I'm pretty confident, that I can update nqp-setting by myself :) | 20:48 | |
| Coke | cotto_work: /i/ have an nqp commit bit. does that help answer your question? ;) | ||
| cotto_work | I'm asking more about who has the say in design decisions. | 20:49 | |
| jnthn | cotto_work: That's Pm. | 20:50 | |
| cotto_work | ok | ||
| NotFound | I'd like to have a Failure PMC in parrot. | ||
|
20:50
ambs joined
|
|||
| ash_ | NotFound: that does sound useful... | 20:53 | |
| GeJ | Bonjour everyone. | ||
| NotFound | ash_: yeah, it avoid to having to decide if some things throws or returns an error indication, or to provide both variants. | 20:54 | |
|
20:55
patspam joined
|
|||
| dalek | rrot: r47949 | NotFound++ | trunk/t/pmc/filehandle.t: test for FileHandle.readall failure conditions |
20:55 | |
| ash_ | NotFound: want me to file an RFC or email the mailing list? | 21:00 | |
| i don't think adding a failure object would break anything... | |||
| NotFound | ash_: I'm thinking about creating a patch implementing it, to avoid having to explain too much. | 21:01 | |
| ash_ | that works too, anything i can help with? | 21:02 | |
| NotFound | Moral support ;) | ||
| cotto_work | moral: failure is an option | 21:03 | |
|
21:07
patspam joined
|
|||
| dalek | r: 6d6606f | bacek++ | src/P (2 files): Add POST::Sub.set_flag to avoid dynamically generated invocations. |
21:13 | |
| r: 3d03e92 | bacek++ | src/PIR/Actions.pm: Add sub_modifier POSTing |
|||
| r: 0a92532 | bacek++ | t/ (2 files): Start adding tests for Sub modifiers. |
|||
| cotto_work lols at bacek's '.sub "main" :main :init :load :immediate :postcomp :anon :method :lex' sub | 21:15 | ||
| bacek | bah! :) | ||
| tcurtis | ..... wow... that's definitely a corner case. | 21:16 | |
| bacek | it's bulk testing | ||
| cotto_work | It's just testing modifier parsing. | ||
| tcurtis | Ah. | ||
| cotto_work | We'll add a special case to PIRATE that segfaults immediately upon trying to parse something like that in real code. | 21:17 | |
| ambs | coke++ # btw | ||
| tcurtis | Wow. Code on Parrot can segfault on demand now? That's much better than doing it under mysterious circumstances. :) | 21:18 | |
| bacek | tcurtis, we used to have very special op for it | ||
| cotto_work sheds a tear for hcf | 21:19 | ||
| bacek | Is there a way to set PObj flag from PIR? | 21:20 | |
| cotto_work | good question | 21:21 | |
| purl | Yeah, it is. I'm stumped. | ||
| cotto_work | I don't recall any. | ||
| ambs | purl: that is not particularly difficult. | ||
| purl | ...but that is more that you dialed the wrong number... | ||
| bacek | It's required for something like SUB_FLAG_PF_ANON etc | ||
| cotto_work | sounds like something to add to Default PMC | 21:22 | |
| bacek | no... way too dangerous | ||
| cotto_work | That's true. They have different meanings depending on the PMC. | 21:23 | |
| bacek | yes. I'm thinking about adjusting Sub.init_pmc | ||
| cotto_work | and incredible potential to mess things up | ||
| bacek | NotFound, ping | 21:24 | |
| NotFound | bacek: pong | 21:25 | |
| dalek | website: Chandon++ | Green Threads and Sleeping | ||
| website: www.parrot.org/content/green-thread...d-sleeping | |||
| bacek | NotFound, if I add setting of PObj flags into Sub.init_pmc what is best way to test it? | 21:26 | |
| NotFound | bacek: Specific tests for any flag allowed to be set, I suppose. | 21:27 | |
| bacek | NotFound, there is no way to get PObj flags from PIR. | 21:28 | |
| Add Sub.get_flags method? | |||
| NotFound | bacek: we can start with that, and later think about some faster way if needed. | 21:29 | |
| bacek | deal | ||
| NotFound | Don't forget to declare its experimental status. | 21:30 | |
| bacek | oookey. Why? To escape deprecation policy trap? | ||
| NotFound | Mainly because it is experimental, isn't it? ;) | 21:31 | |
| bacek | Good point :) | ||
|
21:38
whiteknight joined
21:46
patspam joined
|
|||
| cotto_work | bacek, on your todo list what do you mean by supporting charset/encoding? | 21:52 | |
| bacek | cotto_work, building String with particular charset/encoding. | ||
| cotto_work | right. POST::String does that. | 21:53 | |
| bacek | cotto_work, in .to_pbc? | 21:54 | |
| Then mark it as done! | |||
| cotto_work | yes | ||
| My only question is whether the bytes from nqp-rx's parsing code are sufficiently unmodified. | 21:55 | ||
| bacek | good question... | ||
| purl | Yeah, it is. I'm stumped. | ||
| cotto_work | I don't know how to test that one. | ||
| pmichaud | cotto_work: oops, I ended up getting distracted from your earlier ping | 21:57 | |
| nqp might be able to recognize { ... } as stub code. I'm not sure it would actually generate anything yet. Maybe it could translate into a die. | |||
| cotto_work | So I just have Murphy's timing. Good to know. | ||
| I posted github.com/cotto/nqp-rx/commit/56d4...f602225dad earlier and jnthn suggested that !!! would be semantically closer to what Rakudo does. | 21:58 | ||
| pmichaud | looking. | ||
| If it's going to die, I agree it might be better as '!!!' | 21:59 | ||
| also, it might be nice if the args ended up being the message of the die | 22:00 | ||
| cotto_work | They'd be optional, so that wouldn't make using it any harder. | ||
| pmichaud | correct | ||
| nopaste | "NotFound" at 192.168.1.3 pasted "Proposal: FailIfUsed PMC inspired by rakudo Failure" (251 lines) at nopaste.snit.ch/21754 | ||
| dalek | rrot: r47950 | bacek++ | trunk/src/pmc/sub.pmc: Add ability to set Sub's PObj flags in init_pmc. Also add method to fetch them for testing purposes |
||
| NotFound | Here is a first draft. | ||
| cotto_work | How do you prefer changes to nqp-rx to be submitted? | 22:01 | |
| (language changes, not just bug fixes) | |||
| pmichaud | email, generally. I still haven't figured out how to work github's fork queue | ||
| or, catch me on #parrot, although I fully recognize that hasn't been very profitable for you over the past couple of weeks :-| | 22:02 | ||
| cotto_work | That explains why I didn't hear anything back. | ||
| I'll rework the patch and catch you later. | |||
| pmichaud | yes, I need to add the message to github that says that the fork queue ends up being a bit of a black hole | ||
| NotFound | pmichaud: Can you take a look at my nopaste? | ||
| pmichaud | NotFound: nopaste looks good to me | ||
| adding a FailIfUsed PMC strikes me as being too perl6-specific, though. | 22:03 | ||
| NotFound | pmichaud: we have several things were people had discussed for long if shouls throw or not, this is a nice way to avoid that situation. | ||
| pmichaud | I do very much like Perl 6's notion of Failure objects | 22:04 | |
| I had also been toying with the idea of creating a Failure role (e.g., in P6object) | |||
| NotFound | For example, loading libraries. | ||
| pmichaud | i.e., something that could be mixin'ed on top of an existing object, like Undef. | 22:05 | |
| that way any object could potentially act like a failure. | |||
| NotFound | Or NCI failing to locate a symbol. | ||
| pmichaud | anyway, Rakudo currently implements Failure as a class, but it probably ought to be a role. | 22:06 | |
| NotFound | pmichaud: looks complicated to implement without runtime checks in any operation. | ||
| pmichaud | NotFound: well, the idea is still to overload the vtables. | ||
| but yes, it could be a bit complex. | 22:07 | ||
| anyway, having objects that throw exceptions when used seems to be a big win overall | |||
| NotFound | For objects maybe is easily doable, but for PMCs, I doubt. | ||
| I'll clean it and write a RFC ticket, but maybe I lack time until monday. | 22:08 | ||
| Suggestions for a better name welcome. | 22:10 | ||
| Chandon | Why would "make clean" delete my new test? | 22:12 | |
| tcurtis | Chandon: what's the test's filename? | 22:13 | |
| Chandon | t/pmc/alarm.pir | 22:14 | |
| bacek | it should be alarm.t | ||
| .pir files treated as generated | |||
| Chandon | Hey, that could be it. | ||
| whiteknight | make clean: srs bsns | ||
|
22:14
lucian_ joined
|
|||
| Chandon | And that's why it isn't deleting my other test. I should probably pay more attention to the stuff on my screen. | 22:15 | |
| bacek | afk # $dayjob | ||
| dalek | rrot: r47951 | Chandon++ | branches/gsoc_threads (11 files): [gsoc_threads] Alarms work, at least the easy way. |
22:33 | |
| rrot: r47952 | Chandon++ | branches/gsoc_threads (13 files): [gsoc_threads] merge from trunk |
|||
|
22:36
davidfetter joined
|
|||
| whiteknight | Chandon: looks like your docs for Parrot_floatval_sleep was incorrectly copy+pasted | 22:36 | |
| Chandon | whiteknight: Good catch. I should make that say the right thing instead. | 22:38 | |
| dngor | Mmm, Alarms and delays. | 22:39 | |
| dalek | rtcl-nqp: 69aab75 | Coke++ | src/Partcl (2 files): Add infix:** (exponentiation) to [expr] |
22:41 | |
| whiteknight | Chandon: I feel like I have to have some criticism, but the rest of your code looks pretty good | 22:42 | |
| have any bikesheds that need painting? :) | 22:43 | ||
| Chandon | I suggest "why invent Alarms when Timers exist?" | ||
| There's also all the freeze/thaw tests that aren't passing because I'm not sure what those VTABLE functions are supposed to be doing. | 22:45 | ||
| whiteknight | I don't like timers anyway, so I don't care if you invent a million things to steal some of their thunder | ||
| freeze/thaw are serialization routines. Freeze basically converts a PMC into a string, by pushing values into the freeze manager | 22:46 | ||
| thaw converts a string back to a live PMC by unshifting those values back off again | |||
| dalek | rrot: r47953 | Chandon++ | branches/gsoc_threads/config/gen/platform/generic/time.c: [gsoc_threads] Now with less wrong POD. |
22:50 | |
| Chandon | Is there any general requirement for PMCs to handle freeze/thaw in a certain way? | 22:53 | |
| cotto_work | "roundtrip gracefully and don | 22:57 | |
| 't segfualt" | |||
| though I guess you can segfault a little if you really want to | 22:59 | ||
| dalek | rtcl-nqp: d9f7524 | Coke++ | src/Partcl/Grammar.pm: Add << and >> operators to [expr] (shift left, right) |
||
|
23:04
hercynium joined
|
|||
| tcurtis | What would be a suitable place in docs/ for documentation about Tree::Walker/Pattern/etc.? I had them in docs/pct, but that doesn't really make sense now that it's not limited to PCT anymore. | 23:12 | |
| cotto_work | that's an interesting question | ||
| whiteknight | Chandon: best idea is to look at prior art | ||
| basically, you push things on in one order in freeze, and unshift them in the same order in thaw | 23:13 | ||
| cotto_work | docs/dev makes sense | ||
| there's already some optimizer docs there. | |||
| tcurtis | docs/dev seems to be mostly devoted to stuff at the C-level. | 23:16 | |
| According to parrot.pod, it's for describing implementation decisions. | 23:17 | ||
| cotto_work | It's telling how many files there are in docs/user | 23:18 | |
| tcurtis | I suppose docs/user might be the best place. | 23:19 | |
| cotto_work | We need to get masak to do Parrot's release announcements. | 23:22 | |
| tcurtis | And I will probably forget to bring up the lack of user documentation at #ps Tuesday. | ||
| cotto_work: I'll put it in docs/user/library/ expect documentation commits following my evening meal. | 23:25 | ||
| whiteknight | you should write some docs to remind youself | 23:26 | |
| cotto_work | great | 23:27 | |
| whiteknight | I think kakapo is completely borked. I may try to salvage just the unit testing stuff for 2.6 | 23:28 | |
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#34679), fulltest) at r47953 - Ubuntu 10.04 amd64 (gcc with --optimize) | 23:30 | |
|
23:33
kid51 joined
|
|||
| mikehh | pir/PIRATE (0a92532) - build ok / test PASS - parrot at r47953 - Ubuntu 10.04 amd64 (gcc with --optimize) | 23:36 | |
| dalek | rrot: r47954 | Chandon++ | branches/gsoc_threads/src/scheduler.c: [gsoc_threads] Waking up from sleep is pretty good. |
23:40 | |
| mikehh | partcl-nqp (d9f7524) - make ok, make test PASS - Files=58, Tests=845 - at r47953 - Ubuntu 10.04 amd64 (gcc with --optimize) | 23:41 | |
| partcl-nqp - still no TODO info on output with # test failed etc. | 23:42 | ||
| dalek | TT #324 closed by jkeenan++: Write function documentation | 23:43 | |
| TT #324: trac.parrot.org/parrot/ticket/324 | |||
| Chandon | whiteknight: You have a couple minutes to take a look at an interesting problem? | ||
|
23:45
ash__ joined
|
|||
| whiteknight | yes | 23:47 | |
| mikehh | winxed r532 - make ok, make test/test1/test2 PASS - parrot at r47953 - Ubuntu 10.04 amd64 (gcc with --optimize) | 23:48 | |
| Chandon | whiteknight: So if you pull my branch, build, and run ./parrot t/op/string.t it breaks - why? | ||
| The error is "get_integer() not implemented in class 'Continuation'". The thing it's calling that method on is an attr of the (one) Scheduler PMC, which only gets assigned in its constructor - as a PMCList PMC, not a Continuation. | 23:49 | ||
| Hopefully I'm just missing something stupid - but with Parrot it might always be that there's secretly a compacting garbage collector that only gets triggered by that string test and my pointers expired. | 23:52 | ||
| Coke | i used to see errors like that when I wasn't marking something I needed not gc'd. | 23:53 | |
| or when a gc run occurred when I called out to some other function and I wasn't expecting it. | |||
| (which is fine if you're marked, bad if you're not0 | 23:54 | ||
|
23:54
Psyche^ joined
|
|||