|
Parrot 2.4.0 "Sulfur Crest" Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | GSOC Students: trac.parrot.org/parrot/wiki/GSoCersStartHere Set by moderator on 18 May 2010. |
|||
| darbelo | Use the PackFile PMCs to write a pbc_dumper replacement. | 00:01 | |
| ...or a pbc_merge replacement. | |||
| ...or a pbc_dissasemble replacement. | |||
| Whiteknight | "small" project | 00:02 | |
| NotFound | darbelo: I have both things in examples/packfile.winxed | ||
| Dump and disassembly. | 00:03 | ||
| bacek_at_work | Use PackFile PMC to generate PBC from POST! | ||
| NotFound | Whiteknight: pbc_checker is not so big. | ||
| darbelo | NotFound++ | 00:05 | |
| Whiteknight | I don't think I ever even heard of pbc_checker | ||
| darbelo | NotFound: Have you considered getting a copy of that into the parrot repo? | ||
| NotFound | examples/tools/pbc:checker.cpp | ||
| examples/tools/pbc_checker.cpp | 00:06 | ||
|
00:06
ruoso joined
|
|||
| darbelo | I meant the dissasembler/dumper. The C ones are a mess, I've wanted to deprecate them for a long time. | 00:06 | |
| NotFound | darbelo: we can put the generated pir, but I don't think is a good idea until winxed gets ready for plumage installing. | 00:07 | |
| darbelo | What would it take to get winxed plumage-ready? | 00:10 | |
| NotFound | darbelo: mainly to make my mind about file names and installation paths, to achieve simple usage both from command line and from load_language | 00:13 | |
| Also, a decision about creating or not one more stage. | 00:14 | ||
| Whiteknight | pbc_checker is too big to tackle tonight | 00:17 | |
| NotFound | Whiteknight: oh, you mean really small ;) | 00:18 | |
| Whiteknight | really, really small | ||
| I've got a kid vomitting on me, I don't have a lot of time to just focus | |||
| NotFound | A text mode pacman using the curses module. | 00:20 | |
| darbelo | I'm told vomiting kids go well with compiler warning cleanups. | ||
| Last I checked clang was bitching about us reaching the end of non-void functions all over. | |||
| NotFound | darbelo: probaly PARROT_DOES_NOT_RETURN must be adapted to it. | 00:22 | |
| darbelo | An great task to tackle with kid vomit on you! | 00:23 | |
| I'd do it myself if I had any. | |||
| ;) | |||
| NotFound | Even better if you know nothing of clang ;) | ||
| darbelo: are you already testing pir literals with ucs4 encoding? | 00:24 | ||
| darbelo | Wait. Kid vomit is not an euphemism for compiler documentation? | 00:25 | |
| NotFound | I'll take a look at the branch tomorrow if I have time. | ||
| But tomorrow I'll go to imperialstormtroopers.com/ so maybe I don't have much time. | 00:26 | ||
| nopaste | "darbelo" at 192.168.1.3 pasted "This all seems to work, so far." (163 lines) at nopaste.snit.ch/20608 | ||
| NotFound | darbelo: good! | 00:27 | |
| darbelo | NotFound: Any ideas on PIR literals tests? | 00:28 | |
| I mean should I test anything else? | 00:30 | ||
| NotFound | darbelo: I think we need a pir_output_is variant that compiles to pbc and runs the pbc. | 00:31 | |
| darbelo | Isn't that what testr does? | ||
| NotFound | darbelo: Someone uses testr other than before a release? | 00:32 | |
| darbelo | Good point. | 00:33 | |
| The nopaste works just fine when compiled to pbc or run with parrot -r, though. | 00:35 | ||
| NotFound | I'm out of ideas, going to bed :O | ||
| darbelo | So, I'm guessing your patch works :) | ||
| Whiteknight | darbelo: there were some encoding/charset-related tests in t/pmc/namespace.t | 00:41 | |
| mostly proving that namespaces with exotic literal names don't essplode | |||
|
00:46
tcurtis joined
01:26
s1n joined
01:40
gbacon joined
|
|||
| dalek | rrot: r46834 | tcurtis++ | branches/gsoc_past_optimization (7 files): Add small example and initial(seemingly working) prototype of PAST::Walker. |
01:46 | |
|
02:11
jimk joined
02:26
JimmyZ joined
02:34
abqar joined
|
|||
| dukeleto | tcurtis++ | 02:41 | |
| Andy | Holy cow are the GCC 4.6 warnings sweeeeet | 03:02 | |
| dukeleto | src/thread.c:1398: failed assertion '!interpreter_array' | 03:04 | |
| why can't i make two interpreters? | 03:13 | ||
| gist.github.com/408411 is very simple code that shows this issue | 03:15 | ||
| The first interpreter in any process should be | 03:16 | ||
| created with a NULL parent, and all subsequent interpreters in the same | |||
| process should use the first interpreter as their parent. Failure to do so | |||
| may result in unpredictable errors. | |||
| I would say it is pretty predictable. It fails. | |||
| cotto_work | Should interp1 and interp2 be Parrot_Interp*? | 03:19 | |
| cotto_work goes home to check | 03:25 | ||
| dalek | rrot: r46835 | tcurtis++ | branches/gsoc_past_optimization/runtime/parrot/library/PAST/Walker.pir: Added POD docs to PAST::Walker. |
03:26 | |
| Coke | past::Walker is <reply>Texas Ranger. | ||
| dalek | parrot: a1dd103 | dukeleto++ | (6 files): Revert "Rename plparrot to plparrotu" |
03:27 | |
| parrot: 715aa8a | dukeleto++ | plparrot.c: Create a trusted and untrusted interpreter object in _PG_init |
|||
| parrot: cd79f29 | dukeleto++ | (2 files): Make the language 'plpir' an alias for 'plparrot' |
|||
| Coke | plarrotu, barata, nick*coughcough* | 03:31 | |
| dukeleto | Coke: what now? | 03:36 | |
| purl | The chalice contains human blood cursed in Death's name. The hooded figure kneeling beside you passes it to you and you have to drink. LOSE 3 HIT POINTS. or the catchphrase of Jack Bauer. | ||
| Coke | dukeleto: are you familiar with the day the earth stood still? | 03:40 | |
| dukeleto | Coke: i guess not | ||
|
03:42
LoganLK joined
|
|||
| sorear | Andy: GCC 4. ... 6? | 03:48 | |
| Andy | yessir | ||
| cotto | he's crazy like that | ||
| sorear | but - gcc 4.5 hasn't even been out a month | ||
| man release cycles are short now | 03:49 | ||
| ...and it seems 4.5 isn't even available in debian yet | |||
| cotto | dukeleto, I can't reproduce the backtrace from your nopaste | 03:56 | |
|
03:57
janus joined
|
|||
| cotto | let me see if it explodes with --optimize | 03:57 | |
| Andy | sorear: It's a development snapshot | 04:01 | |
| ftp://ftp.nluug.nl/mirror/languages/gcc/snapshots/ | |||
| nickclifton.livejournal.com/5630.ht...6142#t6142 | 04:02 | ||
| Join the party | 04:06 | ||
| cotto | ok. fails with 2.4.0-something build | 04:08 | |
| sounds like a bug | |||
| purl | bzzzzzzzzzzzzzz... | ||
| cotto | as does purl | 04:09 | |
| sorear wonders if there's a good way to install a sandboxed GCC that can only be used explicitly | |||
| dukeleto | cotto: should I make a tt? the docs say "unpredictable results will happen", so i just gave the 2nd interp a parent | 04:12 | |
| tcurtis | msg chromatic PAST::Walker turned out to be really simple to implement(~32 lines of PIR, not counting empty lines, POD, and comments). Now on to test-writing. | 04:14 | |
| purl | Message for chromatic stored. | ||
| cotto | dukeleto, good question. I'm not sure if something like that should just count as "don't do that" or if we should make it work. | 04:15 | |
| dalek | rrot: r46836 | tcurtis++ | branches/gsoc_past_optimization/examples/library/pastwalker.pir: Add an example of PAST modification in PAST::Walker. |
04:16 | |
| cotto | a failing assert is better than a mysterious segfault | 04:19 | |
| dukeleto | cotto: yep, i agree. i think, from the docs, it is "don't do that" | 04:21 | |
| cotto | wfm | ||
| tcurtis | Why does pir-basic-indent in editor/pir-mode.el default to 8? The required PIR coda seems to specify a 4-space indent for vim, and most of the pir in runtime/parrot/library seems to be indented to 4 spaces. | 04:23 | |
| cotto | because nobody is in the intersection of the set of people who use emacs and the set of people who'd notice and mention it | 04:25 | |
| dukeleto | tcurtis: please fix it :) | 04:30 | |
| dalek | rrot: r46837 | tcurtis++ | branches/gsoc_past_optimization (2 files): Change to 4-space indent for consistency. |
04:33 | |
| purl | dalek: that doesn't look right | ||
| cotto | purl, go jump in a lake | 04:34 | |
| purl | cotto: huh? | ||
| cotto | tcurtis, I'd recommend doing that in trunk | ||
| tcurtis | cotto: that commit was fixing the indent in runtime/parrot/library/PAST/Walker.pir and examples/library/pastwalker.pir. I just updated pir-mode.el in trunk. | 04:36 | |
| cotto | you're one step more awesome than me | 04:37 | |
| as you were ;) | |||
|
04:43
Andy joined
|
|||
| dalek | rrot: r46838 | tcurtis++ | trunk/editor/pir-mode.el: Fix pir-basic-indent default to 4. |
04:49 | |
|
05:01
parthm joined
05:07
plobsing joined
|
|||
| dalek | parrot: 4b4f9fc | dukeleto++ | (3 files): Start the PL/PIR, PL/PIRU bifurcation |
05:08 | |
|
05:14
hercynium joined
05:18
LoganLK joined
06:03
kjeldahl joined
06:04
parthm left
|
|||
| dalek | rrot: r46839 | petdance++ | trunk/config/auto/warnings.pm: new warnings available in GCC 4.6 |
06:12 | |
|
06:13
uniejo joined
06:18
aukjan joined
|
|||
| dalek | rrot: r46840 | petdance++ | trunk (2 files): Flagging functions as pure. Thanks, GCC 4.6! |
06:28 | |
| rrot: r46841 | tcurtis++ | failed to fetch changeset: Sync with trunk. |
|||
| cotto | that sync doesn't look right | 06:32 | |
|
06:32
iblechbot joined
|
|||
| tcurtis | cotto: No? How so? | 06:43 | |
| cotto | tcurtis, it looks like it's only a bunch of svn prop changes | 06:45 | |
|
06:46
JimmyZ_ joined
|
|||
| cotto | ops.num-- | 06:50 | |
| plobsing | ops.num++ # lets me know how many I've offed | 06:53 | |
| tcurtis | Oops. Thanks, cotto. Reverting and trying to figure out how I messed it up now. | 06:56 | |
| cotto | tcurtis, which svn version are you using? | 06:57 | |
| tcurtis | 1.6.11 | ||
| cotto | ok. merges seem to be the least painful with 1.6.x, so that's probably not the problem. | ||
| (and syncs) | |||
| It should just be: | 06:58 | ||
| svn merge svn.parrot.org/parrot/trunk . | |||
| sync? | |||
| purl | somebody said sync was defined by SVID at least, to schedule the writes of all buffered data to disk, and an implementation can choose wither sync() returns before the writes are done, or after | ||
| cotto | svn sync? | 06:59 | |
| purl | svn sync is *so much faster* | ||
| cotto | no, svn sync is svn merge svn.parrot.org/parrot/trunk . | ||
| purl | okay, cotto. | ||
| cotto | svn sync? | ||
| purl | rumour has it svn sync is svn merge svn.parrot.org/parrot/trunk | ||
| cotto | no, svn sync is svn merge svn.parrot.org/parrot/trunk . . | ||
| purl | okay, cotto. | ||
| cotto | svn sync? | ||
| purl | svn sync is svn merge svn.parrot.org/parrot/trunk . . | ||
| cotto | no, svn sync is svn merge svn.parrot.org/parrot/trunk . | ||
| purl | okay, cotto. | ||
| cotto | svn sync? | ||
| purl | svn sync is svn merge svn.parrot.org/parrot/trunk . | ||
| dalek | rrot: r46842 | tcurtis++ | branches/gsoc_past_optimization (78 files): Revert failed attempt to sync with trunk. |
07:03 | |
| rrot: r46843 | tcurtis++ | branches/gsoc_past_optimization (27 files): Really sync with trunk. |
|||
| tcurtis | Possible source of problem: I was using 1.4, then noticed that, reverted the initial merge, installed 1.6, and used the same command line as 1.4 was demanding. which was something like "svn merge svn.parrot.org/parrot/trunk svn.parrot.org/parrot/branches/gso...mization". Although that might have not been the right thing to do even with 1.4. Anyway, this time, svn diff seems to be showing actual changes to files, so it should have wor | 07:04 | |
| cotto | yeah. Using different versions of svn-- can lead to stupiness. | ||
| svn gives me that syncing feeling | 07:05 | ||
| tcurtis | karma svn | ||
| purl | svn has karma of -50 | ||
| cotto | good | 07:06 | |
| karma git | |||
| purl | git has karma of 288 | ||
| cotto | sounds proper | 07:07 | |
|
07:07
fperrad joined
|
|||
| cotto | hio fperrad | 07:08 | |
|
07:12
fperrad_ joined
|
|||
| dalek | rrot: r46844 | cotto++ | branches/ops_pct/compilers/opsc (7 files): [opsc] add Ops::Renumberer, make it complain when ops.num needs renumbering |
07:19 | |
| rrot: r46845 | cotto++ | branches/ops_pct/compilers/opsc/ops2c.nqp: [opsc] add --debug to ops2c to disable file output |
|||
| mikehh | cotto: ops_pct branch - make corevm/make coretest PASS, make -> make: *** No rule to make target `compilers/opsc/src/Ops/Renumberer.pm', needed by `compilers/opsc/gen/Ops/Renumberer.pir'. Stop. | 08:03 | |
|
08:08
JimmyZ_ joined
|
|||
| dalek | rrot: r46846 | fperrad++ | trunk (2 files): [URI] add userinfo() |
08:09 | |
| cotto | That shouldn't be the case. I updated the relevant makefile fragments. | 08:14 | |
| nm | |||
| forgot to svn add apparently | |||
|
08:15
khairul joined
|
|||
| cotto | all better | 08:15 | |
| dalek | rrot: r46847 | cotto++ | branches/ops_pct/compilers/opsc/src/Ops/Renumberer.pm: [opsc] add Ops::Renumberer file, mikehh++ for noticing |
08:25 | |
| mikehh | cotto: my next trick is -> make: *** No rule to make target `ext/nqp-rx/src/stage0/nqp-setting.nqp', needed by `runtime/parrot/library/nqp-setting.pbc'. Stop. | 08:36 | |
| cotto | that's after a reconfig? | 08:40 | |
| mikehh | cotto: again make corevm/make coretest PASS, but make fails after making the previous fail, I did make realclean, config, make corevm/make coretest, make | ||
| cotto | so it is | ||
| lemme dig a bit, but I'll need to sleep rsn | 08:41 | ||
| mikehh | ok - I'll have a look as well | ||
| cotto | speedy typing, btw ;) | ||
| dalek | rrot: r46848 | fperrad++ | trunk (3 files): [LWP] proxy (step 1) |
||
| cotto | stupid bacekbot is already into his weekend and I just barely started friday | 08:43 | |
| cotto shakes his fist in vain | |||
| but come Sunday, the tables will be turnede | |||
| mikehh, is that a serial or a parallel build? It looks like the Makefile dependencies are not quite complete. | 08:45 | ||
| nm. They're just plain broken. | |||
| mikehh | I re-gened MANIFEST but haven't commited yet, may need another | 08:46 | |
| once I get make sorted I will try and fix codetest failures | 08:47 | ||
| cotto | fix't | ||
| and I'm off to find some sleeps | |||
| g'night | |||
| moritz | sleep well | ||
| mikehh | ok, let's see what happens :-} | 08:48 | |
|
08:53
TiMBuS joined
|
|||
| dalek | rrot: r46849 | cotto++ | branches/ops_pct/ext/nqp-rx/src/stage0/nqp-setting.nqp: [nqp] move nqp-setting.pm to nqp-setting.nqp |
08:58 | |
| darbelo | That's going to hurt when merge time comes. | 08:59 | |
| mikehh | darbelo: what is? | 09:04 | |
| the nqp-settings.nqp? | 09:05 | ||
| darbelo | Renaming files in general. | 09:08 | |
| And that particular file got renamed in both branch and trunk at separate times. | |||
| moritz | merge with git! merge with git! | 09:09 | |
| darbelo | Every time that's happened to me svn reports that the missing file on one side conflicts with the missing file on the other. | ||
| mikehh | we'll let bacek sort it out :-} | 09:10 | |
| darbelo | Yeah, bacek can handle it. He's some sort of magical coding robot, after all. | 09:12 | |
| mikehh | for sure | 09:13 | |
| purl | like totally! | ||
| dalek | rrot: r46850 | mikehh++ | branches/ops_pct/MANIFEST: re-generate MANIFEST |
09:14 | |
| mikehh | ops_pct branch - make corevm/make coretest PASS, make test - t/compilers/opsc/05-oplib.t - Method 'optable' not found for invocant of class '' | 09:16 | |
| moritz | I wish we could get rid of such less-than-awesome error messages | 09:18 | |
| maybe with a flag that marks a class as anonymous | |||
| and then the error message could read "for invocant of an anonymous class" or so | 09:19 | ||
| mikehh | moritz: I haven't looked at the test yet - it's new in ops_pct branch | 09:20 | |
| moritz | mikehh: it's not a matter of the test | 09:21 | |
| mikehh: it's an error message we see in rakudo too, leaking through from parrot | |||
| it's more of a general parrot method calling error | 09:22 | ||
| mikehh | morritz: yeah - I see where you are coming from | 09:27 | |
| bad typing again - s/morritz/moritz/ | 09:30 | ||
| dalek | rrot: r46851 | fperrad++ | trunk/runtime/parrot/library/LWP.pir: [LWP] proxy (step 2) |
09:31 | |
| moritz | mikehh: you're aware of nick tab completion? | ||
| (I don't want to make you feel bad about the typo, just want to save you some key strokes in future :-) | 09:32 | ||
| darbelo | moritz: How do you know his client has it? | ||
| moritz | darbelo: most sane clients have it | ||
| darbelo: and if not, it's worth searching for a better client, if possible | |||
| mikehh | nah it works - I generally forget to do it :-{ | ||
| darbelo | If it makes you feel any better I'd rather have my nick misspelled than be called a 'dalek' ;) | 09:34 | |
| moritz | lol | ||
| darbelo | Both have happened. The second one was way more confusing. | ||
| moritz | in #perl6 there are often 6 nicks starting with 'ma' | 09:35 | |
| or rather 5, but one starts with [ma, and the tab completion in irssi also picks that one up on ma<tab> | |||
| Coke: FWIW I couldn't reproduce the 'make install' oddity with parallel build | 09:39 | ||
| darbelo | Hmm. Our encoding of literal UTF16 surrogate pairs seems slightly off... | 10:09 | |
| moritz | you don't need surrogae pairs in UTF-16 I thought? | 10:20 | |
| just in UCS-2 | |||
| nopaste | "darbelo" at 192.168.1.3 pasted "Here's a testcase." (118 lines) at nopaste.snit.ch/20609 | 10:21 | |
| darbelo | moritz: You can ignore the ucs4 part in trunk. | ||
|
10:21
mmcleric joined
|
|||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#33962), fulltest) at r46851 - Ubuntu 10.04 amd64 (g++) | 10:30 | |
|
10:33
clinton joined
|
|||
| bacek arrives in flames and smoke | 11:16 | ||
| WHO CALLED MY NAME?! | 11:17 | ||
|
11:20
viklund joined
|
|||
| moritz | we were discussing merges :-) | 11:30 | |
| bacek | sigh... | 11:34 | |
| svn again? | |||
| moritz | we discussed renaming a file in a branch, and the hilarity that will cause than on merging | 11:35 | |
| or renamed both in trunk and branch, or so | 11:37 | ||
| bacek | let me try to sync branch | ||
|
12:01
chinchin joined
|
|||
| chinchin | hello, i have a problem with the mk_language_shell.pl script | 12:01 | |
| can somebody help me? | 12:02 | ||
| bacek | chinchin, just tell your problem. We'll try to help | ||
| chinchin | great | 12:03 | |
| when i run the perl tools/dev/mk_language_shell.pl Squaak languages/squaak command, the folder is created, but not the make file | |||
| bacek | chinchin, looks like documentation is outdated. There is "setup.pir" which is pure-parrot replacement for make | 12:04 | |
| chinchin | k, so i run it with parrot setup.dir? | 12:05 | |
| bacek | yes | ||
| chinchin | ok great, i'll try it | 12:06 | |
| darbelo | Yep. Or "parrot setup.pir help" to get the list of available targets. | ||
| bacek | you can run something like "parrot setup.pir help" to get more info | ||
| chinchin | ahh ok, great | ||
| thanks for your help | |||
| parrot is great btw ;) | |||
| darbelo | We try :) | 12:07 | |
| fperrad: ping | 12:12 | ||
| dalek | rrot: r46852 | bacek++ | branches/ops_pct (55 files): Merge branch 'master' into ops_pct_local \tMANIFEST \truntime/parrot/library/HTTP/Message.pir \truntime/parrot/library/LWP.pir \tt/library/lwp.t \tt/library/uri.t |
12:14 | |
| purl | MANIFEST is useful for lots of stuff and don't forget to regenerate the manifest with perl tools/dev/mk_manifest_and_skip.pl, unless i am using git-svn | ||
| rrot: r46853 | bacek++ | branches/ops_pct/src/dynoplibs/Rules.in: Fix build of deprecated.ops introduced in trunk. |
|||
|
12:15
parthm joined
|
|||
| darbelo | purl: msg fperrad "Chandon" is the GSoC student that will be working on parrot's threads, letting him know of any features you think would benefit distutils is probably a good idea. | 12:19 | |
| purl | Message for fperrad stored. | ||
| fperrad | darbelo, see lists.parrot.org/pipermail/parrot-d...04238.html | 12:23 | |
|
12:26
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 12:28 | |
| bacek | Morning??? It's Friday's night already! | 12:29 | |
|
12:30
Coke joined
|
|||
| dalek | rrot: r46854 | bacek++ | branches/ops_pct/t/compilers/opsc/05-oplib.t: Update tests |
12:30 | |
| rrot: r46855 | bacek++ | branches/ops_pct/t/compilers/opsc/06-opsfile.t: Update test to refect ops removed from core. |
|||
| chinchin | @bacek i still have a problem: | ||
| bacek | Go ahead | 12:32 | |
| chinchin | after running perl tools/dev/mk_language_shell.pl Squaak languages/squaak && cd languages/squaak && parrot setup.pir build | ||
| i get the following output: Null PMC access in find_method('command_line') | 12:33 | ||
| current instr.: 'main' pc 12 (squaak.pir:28) | |||
|
12:33
JimmyZ joined
|
|||
| bacek | chinchin, do you have installed parrot? E.g. from package or "make install" | 12:35 | |
| chinchin | yes | ||
| bacek | chinchin, I suspect conflict between "installed parrot" and "svn checkout". | 12:37 | |
| Can you try to "make installable" in svn checkout | 12:38 | ||
| chinchin | i can try, but i never checked out | ||
| i just downloaded 2.3.0 | |||
| bacek | hang on. Where is "mk_language_shell.pl" came from? | 12:39 | |
| chinchin | from the download package | 12:40 | |
| bacek | ok. | 12:41 | |
| chinchin | i just see, i installed both 2.3.0 and 2.4.0 | ||
| bacek | ouch... | ||
| parthm | hello. i am trying to build cardinal (latest) with parrot 2.4.0 but the build is failing. it seems nqp.pbc is missing in the "make install" dir. | 12:42 | |
| bacek | It's can be a main reason | ||
| nopaste | "parthm" at 192.168.1.3 pasted "cardinal build failure" (23 lines) at nopaste.snit.ch/20610 | ||
| chinchin | hmm, but when i type parrot --version, i get 2.3.0 | ||
| bacek | chinchin, try "../../parrot setup.pir" in languages/squaak directory | ||
| chinchin | k, mom | 12:43 | |
| bacek | parthm, old "nqp" was deprecated and removed in current development release. You need last supported (2.3.0) to build cardinal. | 12:44 | |
| cardinal? | |||
| purl | cardinal is probably mail.freesoftware.fsf.org/pipermail...dinal-dev/ or the Ruby-on-Parrot project. or xrl.us/uyz3 | ||
| parthm | bacek: thanks. i will try it with 2.3.0. | 12:45 | |
| bacek | seen treed | 12:47 | |
| purl | treed was last seen on #parrot 10 days, 18 hours, 25 minutes and 30 seconds ago, saying: o/ [May 10 18:22:03 2010] | ||
| dukeleto | darbelo: is there a pic of you on the interwebs? | 12:48 | |
| bacek | msg treed Aloha! What about updating Cardinal to nqp-rx? (I can probably offer some help with it) | ||
| purl | Message for treed stored. | ||
| dukeleto | darbelo: we are putting pics of PL/Parrot devs on a slide, and you have commits :) | 12:49 | |
| chinchin | @bacek i get : Error reading source file setup.dir. :( | 12:52 | |
| bacek | chinchin, erm... Did you invoke it in "languages/squaak" directory? | 12:53 | |
| chinchin | yes | ||
| gosh, was a typo | 12:54 | ||
| bacek | no worries :) | ||
| chinchin | ;) | ||
| but now i get: Parrot revision r44549 required (currently r0) | |||
| bacek | yak... | 12:55 | |
| chinchin | sorry ;) | ||
| bacek | msg fperrad there is some shenanigans with mk_language_shell.pl and distutils. Can you take a look, please? | 12:56 | |
| purl | Message for fperrad stored. | ||
| bacek | chinchin, what is in PARROT_REVISION in languages/squaak directory? | 12:58 | |
| chinchin | its 44549 | ||
| fperrad | chinchin, put 0 in the file PARROT_REVISION | ||
| bacek | try replace it with 0 | 12:59 | |
|
12:59
parthm left
|
|||
| bacek | Ah! fperrad is here! | 12:59 | |
| chinchin | k, it worked ;) | ||
| fperrad | bacek, this problem is now fixed with Parrot 2.4.0 | ||
| chinchin | is this a bug, or is my installation broken? | ||
| ahh, i see | 13:00 | ||
| ok guys, its working now, thanks for your help! | 13:01 | ||
| bacek | fperrad, hooray! | ||
| chinchin, looks like is _was_ a bug. But feel free to ask fperrad for details. | |||
| (He is awesome, btw) | |||
| chinchin | hehe | 13:02 | |
| should i write a email about the outdated docs? | 13:03 | ||
| bacek | Just create ticket in trac | 13:05 | |
| Coke | if the docs are still outdated, yes, please open a trac ticket. | ||
| bacek | trac? | ||
| purl | trac is a web-based software project management and bug/issue tracking system emphasizing ease of use and low ceremony. It provides an interface to the Subversion revision control systems, integrated Wiki and convenient report facilities. projects.edgewall.com/trac/ or Python, SQLite and ClearSilver or killing killtrac or a bug-tracking tool or at trac.parrot.org/parrot/ or slow or REALLY slow | ||
| Coke | parrot trac? | ||
| purl | i think parrot trac is trac.parrot.org/parrot/ | ||
| Coke likes mine better. | |||
| bacek | Yeah, this one :) | ||
| Coke | -> elementary school | ||
| chinchin | k, i will do that...again, thanks and see ya! | 13:06 | |
| particle | coke: i hope you graduate this time! | ||
| bacek passing some scotch to Coke | |||
| dalek | rrot: r46856 | fperrad++ | trunk (2 files): [URI] fix host when userinfo |
13:07 | |
|
13:11
JimmyZ joined,
ruoso joined
|
|||
| dalek | kudo: c950dec | pmichaud++ | docs/spectest-progress.csv: spectest-progress.csv update: 448 files, 32347 (82.2% of 39356) pass, 0 fail |
13:13 | |
| parrot: 7ea3c7d | dukeleto++ | t/sql/test.sql: Add a test that concatenates strings |
13:21 | ||
|
13:21
atrodo joined
|
|||
| dalek | rrot: r46857 | fperrad++ | trunk (4 files): [LWP] call env_proxy() |
13:23 | |
| rrot: r46858 | bacek++ | branches/ops_pct/runtime/parrot/library (3 files): Bring runtime/parrot/library from trunk. |
|||
| fperrad | who is behind a HTTP proxy ? I need a tester. | 13:25 | |
| whiteknight | sorry, not me | 13:28 | |
| JimmyZ | fperrad: I can | 13:31 | |
| I use SSH as proxy | 13:32 | ||
| fperrad | JimmyZ, you need Parrot r46857 or better, a http_proxy environment variable | 13:34 | |
| $ ./parrot examples/io/get.pir www.parrot.org/ | |||
| darbelo | dukeleto: No pics of me in the interwebs, that I know of. | ||
| JimmyZ | fperrad: | 13:35 | |
| ok | |||
| fperrad | $ ./parrot examples/io/get.pir www.parrot.org/ > home.html | 13:36 | |
| only stderr is useful | |||
| JimmyZ | ok, I am buiding parrot ;) | 13:38 | |
| fperrad | JimmyZ, what are your http_proxy like user:passwd@proxy.net:8000 ? | 13:41 | |
| JimmyZ | fperrad: www.samair.ru/proxy/ip-address-01.htm here are proxys | 13:47 | |
| *proxies | |||
|
13:49
plobsing joined
|
|||
| JimmyZ | parrot examples/io/get.pir www.parrot.org/ > home.html | 13:49 | |
| ** GET www.parrot.org/ ==> 200 OK (6s) | 13:50 | ||
| fperrad | JimmyZ, seems ok, | 13:52 | |
| now try to run the test suite and send the report to smolder | |||
| $ ./parrot t/harness.pir --archive --send-to-smolder | |||
| JimmyZ | fperrad: I use http_proxy=112.65.135.54:8080 | 13:54 | |
| Class 'GzipHandle' not found | 14:00 | ||
| current instr.: 'parrot;TAP;Harness;Archive;runtests' pc 920 (runtime/parrot/library/TAP/Harness.pir:326) | |||
| called from Sub 'do' pc 246 (t/harness.pir:82) | |||
| fperrad: I ran parrot t/harness.pir --archive --send-to-smolder and get the error | 14:01 | ||
|
14:01
tetragon joined
|
|||
| fperrad | JimmyZ, I think you have a Parrot without zlib | 14:03 | |
| JimmyZ | ah, yes | ||
|
14:09
gbacon joined
14:24
theory joined
|
|||
| fperrad | JimmyZ, I succeed with your http_proxy setting | 14:29 | |
| see smolder.plusthree.com/app/projects/...ails/33975 | |||
| great | 14:30 | ||
| JimmyZ | Good | ||
|
14:31
bubaflub joined
14:32
Andy joined
|
|||
| Andy | I love the new GCC. | 14:37 | |
| bubaflub | Andy: how do you manage multiple GCC's on one system? | 14:39 | |
| Andy | /var/gcc4[456] | ||
| bubaflub | oh, that makes sense. then a symlink to your default gcc? | 14:40 | |
| nopaste | Someone at 192.168.1.3 pasted "my ~/bin/parrotconfig" (46 lines) at nopaste.snit.ch/20611 | ||
| Andy | I never touch the default gcc | 14:41 | |
| note that I'm also using g++ as my CC | |||
| because it's more stringent | |||
| bubaflub | very slick. i wonder if a perl-brew / rvm type solution would be useful for gcc | 14:42 | |
| Andy | ? | ||
| I don't know what that is. | |||
| bubaflub | rvm is a small utility that allows you to manage multiple copies and versions of ruby from the commandline | ||
| Andy | ah | ||
| bubaflub | from installing and upgrading and switching system ruby | 14:43 | |
| Andy | I don't care about building perl on multiple GCCs | ||
| just the latest | |||
| bubaflub | it'll handle setting the paths and making sure not to clobber | ||
| Andy | my builds have no problems. :-) | ||
|
14:46
smash joined
|
|||
| smash | hello everyone | 14:46 | |
| Andy | hi wat's up | ||
|
14:59
mmcleric joined
|
|||
| dalek | rrot: r46859 | petdance++ | trunk/include/parrot/compiler.h: put in docs about the details of const and pure functions |
15:03 | |
| kudo: f9c987e | moritz++ | t/spectest.data: run three more integration test files |
15:09 | ||
|
15:10
theory joined
15:15
solarion joined
|
|||
| cotto | yay for bacek++ | 15:18 | |
| dalek | rrot: r46860 | petdance++ | trunk (2 files): GCC 4.6 found more ufnctions to const |
15:19 | |
|
15:23
tetragon joined
15:27
Mokurai1 joined
15:29
jsut_ joined
|
|||
| dukeleto | the PL/Parrot talk at PGCon went well! | 15:36 | |
| whiteknight | Andy: ping | ||
| Andy | yessir | ||
| whiteknight | Andy: would you know off hand if Ack is bundled with Strawberry perl? | 15:37 | |
| Coke | whiteknight: pretty sure it isn't. | 15:40 | |
| easy install, though. | |||
| C:> cpan App::Ack | |||
|
15:42
Coke joined
|
|||
| Coke | dukeleto:güt on the talk. | 15:43 | |
| whiteknight | Coke: yeah. I got a buddy who was looking for a "grep, but on windows", and I'm trying to sell him on Ack | ||
| Andy | No need to even go the CPAN route. Just download the single file. | ||
| cotto_work hopes that the next Ubuntu will be Naughty Newt. | 15:45 | ||
| Coke | Andy: yes, but cpan will install it as something you can run. | ||
| as opposed to a .pl file that you then have to write a .bat wrapper for. | |||
| Andy | I know. | 15:46 | |
|
15:47
solarion joined
|
|||
| whiteknight | I suspect it will take me less time to upgrade ubuntu to 10.04 and download the LLVM2.7 package than it will to svn up and build it myself | 15:48 | |
| building LLVM+Clang takes a hell of a long time on this machine | |||
| dalek | rrot: r46861 | petdance++ | trunk/src/string/charset.c: Marking more functions as pure |
15:52 | |
| cotto_work | petdance++ | ||
| whiteknight | agreed. petdance++ | 15:53 | |
| Andy | thanks | 15:54 | |
| I love new toys | |||
|
16:00
jan joined
|
|||
| dalek | rrot: r46862 | mikehh++ | branches/ops_pct/config/auto/extra_nci_thunks.pm: fix perlcritic failure - hard tabs |
16:09 | |
| cotto_work | mikehh: why are you fixing those in the branch? | 16:13 | |
| dukeleto | openhatch.org/ is really cool. Parrot needs to be on there. | 16:18 | |
| dukeleto gets to work | |||
| moritz has an account there | 16:19 | ||
| atrodo | That's a cool idea | ||
| cotto_work | yes | 16:20 | |
|
16:20
GodFather joined
|
|||
| Coke | is that from LOST or something? ;) | 16:20 | |
| cotto_work expects an offer he can't refuse. | |||
| Coke | cotto_work: is the branch dead? | 16:21 | |
| cotto_work | Coke: ops_pct is very much not dead. It's just that the code mikehh was changing has nothing to do with the aim of the branch. | 16:22 | |
| particle | google.com # awesome! | ||
| dukeleto | moritz: what are your first impressions of openhatch? | ||
| mikehh | cotto_work: I was fixin' them to get codetest to pass | 16:23 | |
| cotto_work | mikehh: sure but they should be fixed in trunk and they those changes synced with the branch | 16:24 | |
| mikehh | cotto_work: I thought that was what bacek did | 16:25 | |
| moritz | dukeleto: nice, a bit slow at times | ||
| cotto_work | me too. If those tabs don't show up in trunk, I'm not sure why they'd be in the branch. | 16:26 | |
| moritz | dukeleto: somehow I missed a big "publish a task list" or so | ||
| dalek | rrot: r46863 | mikehh++ | branches/ops_pct/t/steps/auto/extra_nci_thunks-01.t: fix perlcritic failure - hard tabs |
||
| rrot: r46864 | mikehh++ | branches/ops_pct (13 files): add svn propereties |
|||
| dukeleto | moritz: do you have a link for where you are on openhatch? | 16:27 | |
| moritz | openhatch.org/people/moritz/ | ||
|
16:27
clinton joined
|
|||
| mikehh | cotto_work: I got one file failing codetest now - two tests - include/parrot/oplib/ops.h which AFAICS is a generated file which should not be tested by codetest | 16:28 | |
| cotto_work | It is indeed generated. | 16:30 | |
| It shouldn't be hard to fix anyway, depending on which codingstd fails. | 16:32 | ||
| mikehh | cotto_work: c_code_coda.t and copyright.t (the coda has an extra line - * buffer-read-only: t , and no copyright | 16:35 | |
| cotto_work | probably better to add an exception then. | 16:36 | |
| Coke | not if other generated files are doing this right. | 16:41 | |
| where right is in air quotes. | |||
| mikehh | cotto_work: if I can work out why include/parrot/oplib/ops.h fails and include/parrot/oplib/core_ops.h (passes or is not tested) I'll be there | ||
| cotto_work: both files are in MANIFEST, MANIFEST.SKIP and MANIFEST.generated, both lack a copyright line and both have the same coda | 16:59 | ||
| mikehh I am confuze-ed | 17:04 | ||
|
17:06
iblechbot joined
17:08
joeri joined
|
|||
| Coke | mikehh: perhaps it's skipped. | 17:11 | |
| mikehh | Coke: both files are but one is tested the other not | 17:12 | |
| Coke | ... if they're tested then they aren't skipped? | 17:14 | |
| dalek | kudo: 6a7ded6 | moritz++ | src/Perl6/Module/Loader.pm: Not finding a module throws an exception again. it very hard (if not impossible) to catch the error with a try { } block, or form within an eval. Also awesomeified the error message to include report contents of @*INC. |
17:15 | |
| mikehh | Coke: there are two files in the directory include/parrot/oplib - core_ops.h and ops.h, both are in MANIFEST, MANIFEST.SKIP and MANIFEST.generated | 17:19 | |
| both are skipped one as ops.h and the other as *_ops.h in the directory | 17:20 | ||
| both files fail both tests if invoked directly but only one ops.h fails codetest | 17:21 | ||
| Coke | mikehh: are you sure the /codetest/ is skipping them both? | 17:25 | |
|
17:26
theory joined
17:27
Chandon joined
|
|||
| mikehh | Coke: no it only skips one core_ops.h - it tests ops.h and fails two tests - c_code_coda.t and copyright.t - if I test core_ops.h against thes tests it fails and seeing it is not failing codetest I assume it is being skipped as required | 17:27 | |
| NotFound is back from imperialstormtroopers.com/ | 17:29 | ||
| mikehh | NotFound: how was it? | ||
| NotFound | mikehh: very hot ':) | 17:30 | |
| Coke | mikehh: right. so make it skip both! | ||
| mikehh | Coke: yes but how? | ||
| purl | but how is it you know.. red? | ||
|
17:31
tetragon joined
|
|||
| Coke | ... read the code to see how it's skipping the other one? | 17:31 | |
| NotFound | Lots of people, plain sun, too much walking... I'm tired. | ||
| Coke checks c_code... | |||
| Coke assumes it's in lib/Parrot/Distribution's get_c_language_files | |||
| mikehh | Coke: right | 17:32 | |
| Coke | ... but that's a mess. | 17:33 | |
| (I can't see where c_header_files is set.) | |||
| Ah, coding standards tests. I again wonder if you're worth the bits you're printed on. =-) | 17:34 | ||
| mikehh | Coke: ok got it | 17:35 | |
| one is in exemptions, the failinfg one aint | 17:36 | ||
| failing | |||
| Coke | (and this is why we no longer run those tests on 'make test'. =-) | 17:37 | |
| cotto_work wonders what it'd take for a pure pir program to extract op info from a dynop library | 17:38 | ||
| darbelo | cotto_work: Best case: dlload() trickery, I'd expect. | 17:41 | |
| cotto_work | probably premature to think about that just now | 17:42 | |
| mikehh | phew - codetest now passe4s in ops_pct branch | 17:45 | |
| passes | |||
| dalek | rrot: r46865 | mikehh++ | branches/ops_pct/lib/Parrot/Distribution.pm: add include/parrot/oplib/ops.h to @exemptions |
17:52 | |
| Coke | plparrot folks - I can help you write a date/time dynpmc for your HLL if you want. | 18:00 | |
| (or a PIR class.) | 18:01 | ||
|
18:02
tcurtis joined
18:05
LoganLK joined
18:14
mmcleric left
18:22
davidfetter joined
|
|||
| dalek | p-rx: def10fd | sorear++ | src/HLL/Compiler.pm: Write NQP replacements for eval and interactive |
18:39 | |
| p-rx: 528fb67 | sorear++ | src/HLL/Compiler.pm: Add the autoprint hook |
|||
| p-rx: c4649e1 | pmichaud++ | src/HLL/Compiler.pm: Refactor outer_ctx handling a bit in HLL::Compiler. |
|||
| p-rx: fca4ee1 | pmichaud++ | src/HLL/Compiler.pm: HLL::Compiler.eval() needs to pass its slurpy args to the code it evals. |
|||
|
18:42
ash_ joined
|
|||
| cotto_work | what's autoprint? It sounds shiny. | 18:42 | |
| autoprint? | |||
| pmichaud | given an interactive line | 18:44 | |
| like | |||
| > 3 +4 | |||
| autoprint automatically preints the return value from the interactive code entered | |||
| *prints | |||
| (without requiring an explicit 'say') | |||
| Coke | pmichaud: does it have to be an actual RETURN ? | ||
| pmichaud | how do you mean "actual RETURN" ? | 18:45 | |
| Coke | an exception of type... <digging> | ||
| pmichaud | no | ||
| it's whatever value is returned from the called code | |||
| it's not an exception handler. | |||
| Coke | CONTROL_RETURN | ||
| so, it's the PIR return value? | 18:46 | ||
| pmichaud | Yes. | ||
| Coke | ok. is it overridable by HLL? | ||
| pmichaud | Yes, it's a method. | ||
| Coke | woot. | ||
| pmichaud | (on the compiler object) | ||
| Coke | I'll investigate adding to partcl-nqp. danke. | ||
| pmichaud | the base compiler object just does pir::say(...) on whatever comes back. | ||
| but it can be easily overridden to provide other behavior. | 18:47 | ||
| one tricky part I haven't quite figured out what to do with....: | |||
| pmichaud@orange:~/nqp-rx$ ./nqp | |||
| > say(3+4) | |||
| 7 | |||
| 1 | |||
| > | |||
| not sure if/how to eliminate that extra "1" that is returned from say() | 18:48 | ||
| for now, autoprint just punts and always outputs the result | |||
| Coke | I think tcl's interactive shell (the real one) checks to see if you output anything before invoking autoprint. | ||
| moritz | pmichaud: better than no autoprinting at all, but LTA | ||
| Coke | so you have to capture STDOUT | ||
| pmichaud | right... I'm thinking it needs to be per-compiler to say "did I output anything", rather than HLL::Compiler imposing a solution on everyone. | ||
| Coke tests. | 18:49 | ||
| yup. %puts hi | |||
| hi | |||
| purl | hey, Coke. | ||
| Coke | %set a 3 | ||
| 3 | |||
| pmichaud | if there's an easy way to flag stdout to say "was anything printed since the flag was last unset", we could use that. | 18:50 | |
| Or some sort of query on stdout to ask "how much has been printed?" | |||
| I dunno if ftell has any magic for us there. | |||
| pmichaud looks at FileHandle PMC a bit. | 18:51 | ||
| whiteknight | that sounds like something that could be added easily enough | ||
| a quick boolean flag that sets on write and resets on read | |||
| er, resets when the flag value is read | 18:52 | ||
| pmichaud | I'd prefer an explicit reset to an automatic one. | ||
| is there a way to query file_pos on a FileHandle PMC? | |||
| whiteknight | that would be fine too. They would likely be methodcalls, so if you can handle the performance it, I won't complain | ||
| pmichaud | looks like the 'tell' opcode. | 18:54 | |
| testing. | |||
| purl | testing is the best thing ever ZOMG | ||
| Coke | pmichaud: we could add it to get_int_keyed_int. | ||
| ... d'oh, but tell is better. | 18:55 | ||
| pmichaud | woot! | ||
| nopaste coming! | |||
|
18:55
parthm joined
|
|||
| nopaste | "coke" at 192.168.1.3 pasted "for pmichaud" (10 lines) at nopaste.snit.ch/20612 | 18:56 | |
| "pmichaud" at 192.168.1.3 pasted "detecting output to stdout" (15 lines) at nopaste.snit.ch/20614 | |||
| pmichaud | looks like both coke and I ended up with similar results there :) | ||
| okay, I'll put that into autoprint | |||
| Coke | ayup. now just need to keep track of $I0 after prompt and before autorpitn. | ||
| pmichaud | easy-to-do | ||
| Coke | pmichaud++ | ||
|
19:01
parthm left
|
|||
| Coke | *bounce* | 19:06 | |
| pmichaud | pmichaud@orange:~/nqp-rx$ ./nqp | ||
| > 3+4 | |||
| 7 | |||
| > say(3+4) | |||
| 7 | |||
| Coke | *bounce* | ||
| pmichaud | > pmichaud@orange:~/nqp-rx$ | ||
| Coke++ | 19:07 | ||
| awesome. | |||
| mikehh | ops_pct branch - All tests PASS (pre/post-config, make corevm/make coretest, smoke (#33979), fulltest) at r46866 - Ubuntu 10.04 amd64 (g++) | ||
| Coke | hell, you did all the work. =-) | ||
| (it's way too easy to get karma here. =-) | |||
| pmichaud | I hadn't thought of monitoring stdout, though. | ||
| (Actually, you mentioned it long ago, also, but I had forgotten between then and now) | |||
| Coke | what, you been busy? =-) | ||
| pmichaud | A bit. :-) | ||
| Coke | going to yaps::na 2010? | 19:08 | |
| going to yapc::na 2010? | |||
| purl | hmmm... going to yapc::na 2010 is qw(jhannah rbuels cfedde apeiron dha nacmac dhoss mst chargrill kyriel triddle DrForr coke packy dukeleto kolibrie colomon jasonmay arcanez dylan doy ology waltman autarch) | ||
| pmichaud | haven't decided yet | ||
| Coke was trolling the bot. | |||
| pmichaud | at this point, probably no, because travel expenses would be out of my pocket and I promised Paula I wouldn't do that this year. | ||
| oh. | |||
| Coke | yah. I'm trying to coordinate $$ with the wife also. | ||
| she's all for me going, but I'm trying to add a cheapo laptop in there. =-) | 19:09 | ||
| pmichaud | heh | ||
| dalek | rrot: r46866 | mikehh++ | branches/ops_pct/MANIFEST.generated: rebuild MANIFEST.generated - not sorted correctly and duplicates |
19:14 | |
| rrot: r46867 | pmichaud++ | trunk/docs/pdds/draft/pdd31_hll.pod: [docs] Note in pdd31 that eval() also passes along its slurpy args |
|||
| ash_ | with (un)managedstruct's why do you have to push multiple 0's into them? | 19:29 | |
| pmichaud | .oO( because otherwise stuff leaks out into the Gulf of Mexico ) |
19:30 | |
| ash_ | snap, those must by leaky | ||
| ah, i found some documentation for them, just not in as obvious of a place as i would of guessed, i guess | 19:33 | ||
| moritz | then add a pointer to the non-obvious place in the obvious palce | 19:36 | |
| ash_ | sure, i'll try to update the documentation for the struct's (and the tests... the tests for unmanagedstruct is blank) | 19:37 | |
| okay, its not blank, it has 1 test, it tries to: new $P0, ['UnManagedStruct'] thats all... i imagine UnManagedStruct has a bit more functionality than that | 19:38 | ||
| dalek | p-rx: 3ad3114 | pmichaud++ | src/HLL/Compiler.pm: Improve autoprint so that it only outputs the result value if the |
19:40 | |
|
20:00
bubaflub joined
20:06
davidfetter joined
|
|||
| dukeleto | i don't think i will be able to make it to yapc::na 2010 (backlogging) | 20:19 | |
| sad, but true | |||
| dalek | rrot: r46868 | NotFound++ | trunk/docs/pdds/pdd13_bytecode.pod: reality check |
20:21 | |
|
20:24
tetragon joined
|
|||
| ash_ | can you override assignment operations? so if i have my own pmc on the left hand side of the operation it does something different? (ie. $P0 = new 'myclass' \\n $P0 = 123 does a special operation and not override the value) | 20:54 | |
| ah, nevermind, i found out how, its in the documentation, i should read that more throughly | 20:56 | ||
| dalek | rrot: r46869 | tcurtis++ | branches/gsoc_past_optimization (2 files): Add some tests for non-modifying traversal with PAST::Walker. |
||
| TT #1107 closed by NotFound++: Opcode get_class has failed assertion with garbage input | 21:12 | ||
| TT #1107: trac.parrot.org/parrot/ticket/1107 | |||
|
21:26
Mokurai joined
|
|||
| NotFound | Coke: ping | 21:29 | |
|
21:33
theory joined
21:35
wagle joined
22:01
kiwichris joined
|
|||
| Coke | NotFound: yes? | 22:18 | |
| NotFound | Coke: please take a look at TT #1034 | 22:20 | |
|
22:24
tcurtis joined
22:29
Whiteknight joined
|
|||
| Coke | I don't think another way to avoid the problem necessarily helps, does it? | 22:33 | |
| or is this supposedly the right way? | 22:34 | ||
| ash_ | can parrot objects freely inherit from core PMC's? | 22:35 | |
| Whiteknight | sortof | ||
| NotFound | Coke: with our current architecture, this is the only way I can imagine. | ||
| Whiteknight | in theory they can, but the mechanism has bugs | ||
| ash_ | hmm, okay | 22:36 | |
| gist.github.com/409521 anyone have any comments on that? if that was potentially how NCI worked? I still am shying away from the whole a string defines the signature of a function, that just seems odd to me personally. I mean what if you wanted to abstract away a data type, the string mechanism wouldn't let you. | 22:37 | ||
| tcurtis | msg chromatic I only just realized that PAST::Walker's current design is suboptimal for changing the tree. $walker->walk($node) can't replace $node with a different type of node. I'll work on figuring out a good API for modifying traversal tomorrow(busy with graduation tonight). Probably similar to python's ast.NodeTransformer, with walk() returning the new node to replace the original(or null to delete it). PAST::Walker as is could be nice to keep for thin | 22:38 | |
| that don't need to modify the tree, though. | |||
| purl | Message for chromatic stored. | ||
| Whiteknight | ash_: looks reasonable to me, on first glance | 22:42 | |
| tcurtis | ash_, maybe not tie C struct names to Structure subclass names. | ||
| Nevermind. That was a silly thing to say. C struct names wouldn't actually matter. | |||
| NotFound | ash_: the string mechanism has the advantage of shortness. | ||
| PerlJam likes the string mechanism. | 22:43 | ||
| reminds me of pack/unpack | |||
| (but maybe I'm just crazy too :) | |||
| NotFound | ash_: also, creating a PMC for all arguments of nci call will kill performance. | ||
| ash_ | I am sure I could work out some mechanism that tries to convert given types to their C equivalents, so if its supposed to take an c_int32 it could convert to an int first, and see if its still a valid value, so you don't have to make throw away objects | 22:45 | |
| tcurtis | The string mechanism would be nice to keep for simple things where it is sufficient, but the non-string-based mechanism would be helpful when one needs it. | 22:46 | |
|
22:46
Mokurai2 joined
|
|||
| ash_ | I am just thinking when you get to a point where you need to call a library with a struct, the current system seems, IMO, a bit lacking there | 22:47 | |
| you could say "P" in the signature and pass it a ManagedStruct but even the ManagedStruct is a bit cumbersome and won't work with a return type (granted, you don't normally see struct's as return types) | 22:48 | ||
| NotFound | ash_: yes, but IMO the cost of complicating and slowing down the simpler cases is too high. | 22:49 | |
| ash_ | I don't plan on breaking old functionality, yet anyway | ||
| PerlJam | ash_: I like the hash interface to the library though | 22:51 | |
| ash_ | so, if you had a function that was: int foo(float, double); and you wanted to invoke that, you could do: $P1 = new 'c_int'; $P1 = 123; $P2 = new 'c_float'; $P2 = 123.123; $P3 = new 'c_double'; $P3 = 123.123456; $P4 = 'dlfunc'(lib, 'foo', $P1, $P2, $P3); $P4($P1, $P2, $P3); | 22:52 | |
| PerlJam | ash_: ETOOMANYPMCS | 22:53 | |
| NotFound | ETOOMANYCODE also | 22:54 | |
| tcurtis | I'd rather do $P0 = 'dlfunc', lib, 'foo', 'ifd"); $I0 = $P0(123.123, 123.123456); for that. | 22:56 | |
| bacek | Good morning, humans | 22:58 | |
| ash_ | I don't have to break old functionality, i just think the added bits would be useful when you get to structs or unions | ||
|
22:59
Psyche^ joined
|
|||
| tcurtis | ash_: I agree. Your new way of doing things sounds great for things that the old way can't do. | 23:00 | |
| ash_ | also, you can expand on the basic types pretty easy, for instance you could add a 'pointer' method that takes type and returns a pointer to the type, or a 'byref' method for functions that take parameters by reference instead of by value | 23:02 | |
| PerlJam | ash_: $P0 = 'build_struct'('ifd'); $P1 = 'fill_struct'($P0, 123, 3.1415, 2.718281828459045); # or some such | ||
| just trying on an alternate reality | |||
| ash_ | i could expend the syntax of the strings too, to try to include some of the other cases I am talking about | 23:04 | |
| Coke made a good suggestion before too, i could try 'i(fd)' where ( ) makes the fd into a structure | 23:05 | ||
| PerlJam | Coke++ | ||
| that too reminds me of pack/unpack | |||
| steal the good ideas where you can find them! | |||
| ash_ | maybe also add * for pointers, (in addition to the generic void*, so you get more type safety if you want it) | 23:06 | |
| 'i*(fd)' could be a int foo(struct { float; double; } *); | 23:07 | ||
| tcurtis | ash_, also great idea. Possibly use u as a way of turning a type into unsigned. Anyway, good night folks. | 23:12 | |
| tcurtis is about to graduate. | |||
| ash_ | tcurtis congrats | 23:13 | |
|
23:13
plobsing_work joined
|
|||
| tcurtis | thanks, ash_. | 23:14 | |
|
23:14
bubaflub joined
|
|||
| plobsing_work | hello | 23:15 | |
| Whiteknight | graduating highschool is no small feat. I barely did it | ||
| hello plobsing | |||
| ash_ | hi | ||
| plobsing_work | ash_: we should schedule a weekly meeting time. I had hoped it would happen naturally, but that doesn't seem to be happening | 23:16 | |
| ash_ | plobsing_work: yeah, so far it seems we keep missing eachother | ||
| plobsing_work | I work 8h-17h Pacific Time. I prefer to work on Parrot outside of those hours, but its not a hard requirement. What times work for you? | 23:18 | |
| ash_ | I am in the central US timezone, and obviously free monday-friday anytime starting next week, although I do have a robotics competition on june 2-4, but I am planning on working around then and on the weekends to make up for the lost time | ||
| starting next monday, i am free just about anytime, my plan from monday till the last day of the GSoC is to hold up in my computer room from 8 to around 5 monday-friday but i am flexible | 23:20 | ||
| plobsing_work | cool. how about ~10h Central (noon Pacific) on one of those days? | 23:21 | |
| oops wrong way (I fail at timezones) | 23:22 | ||
| ash_ | (me too, i just had to google the difference between pacific and central) | ||
| plobsing_work | so ~14h Central (noon Pacific) | ||
| ash_ | umm if your done at 5pm pacific, thats... 7pm central, if you want to meet after your done with $work | ||
| noon your time is fine by me, or when your done with work, both are good | 23:24 | ||
| plobsing_work | I can try to make that work, but I bike home (and frequently take "detours"), so there's somewhat of a gap in my availability | ||
| ash_ | we could push it back a bit further so you have time to get home, i am a night owl anyway | 23:25 | |
| plobsing_work | Sure. say 18h30 my time (20h30 yours) to give me sufficient buffer? how are wednesdays for you? | 23:26 | |
| ash_ | wednesdays are fine by me | ||
| plobsing_work | sounds like a deal | 23:28 | |
| NotFound | notfound.posterous.com/the-unroll-opcode | 23:31 | |
| plobsing_work | ash_: have you had a look at github.com/plobsing/parrot-libjit-fb ? | 23:33 | |
| NotFound | Coke: here is a explanation. | ||
| ash_ | no, but i will | ||
| looks interesting | |||
| plobsing_work: is there a time before next wednesday we can talk? I was trying to get started on the NCI improvements, and am kinda running into some design consideration issues | 23:35 | ||
| plobsing_work | ash_: yes, I saw in the logs | ||
| I'll dig up some stuff I said and also comment on your suggestions tomorrow (sorry, tonight is taken) | 23:36 | ||
| ash_ | thats fine | ||
| should I start a mailing list email about it? or should i wait until we have talked? | |||
|
23:37
ruoso joined
|
|||
| plobsing_work | ash_: your ideas (about changing signatures) are fairly similar to the ideas I put out on the list a month or two ago | 23:37 | |
| I've significant portions of the dlfunc and (Un)?ManagedStruct interfaces in anticipation of such changes (see DEPRECATED.pod) | 23:38 | ||
| s/I've/I've deprecated/ | 23:40 | ||
| ash_ | alright, i'll read up on those changes (I wasn't aware of them) | ||
| was also surprised by the (lack of) tests for UnManagedStruct (it has 1, it sees if you can call "new 'UnManagedStruct'") | 23:41 | ||
| i suppose part of that is that managedstruct inherits from unmanaged struct, and managedstruct has more tests, but still | 23:42 | ||
| plobsing_work | there's more somewhere IIRC | ||
| NotFound | The funny part is that it works better than parts with many more tests X-) | 23:44 | |
| plobsing_work | NotFound: would you consider adding a way to access arbitrary pirops in winxed? perhaps "using pirop gcd;"? | 23:46 | |
| I hate having to poke you every time I need another op. | 23:47 | ||
| NotFound | plobsing_work: yes, but it has been easier until now to add predef for the urgent needs. | ||
| plobsing_work | I'll try working on a patch to add that to stage2 sometime soon. | 23:48 | |
| NotFound | plobsing_work: the problem is that I think in a function-like syntax, and I don't have yet a syntax to specify return type. | 23:49 | |
| plobsing_work | NotFound: I was thinking I'd just have it STFU about types. winxed is parrot-ly typed anyways. | 23:50 | |
| NotFound | plobsing_work: I'm open to ideas. | 23:51 | |
| plobsing_work | this is just a vague idea ATM. I'll submit a more refined idea in the form of a patch (when I get the tuits) | 23:52 | |
| NotFound | plobsing_work: BTW I lost your patch for named and don't remember what was the problem. Do you still have it? | 23:53 | |
| plobsing_work | the problem was winxed can have variables legally named "$P0", which would cause significant problems | ||
| or maybe it was "P0" | |||
| NotFound | plobsing_work: yes, but what was the problem you were trying to solve? | 23:55 | |
| plobsing_work | named slurpy params IIRC | ||
|
23:55
theory joined
|
|||
| NotFound | This is part of PCC that I don't know much about. Can you provide a short use case? | 23:56 | |
| I think I've lost part of my mind with the encoding and pbc issues %-) | 23:59 | ||
| plobsing_work | function sayall(var x[named,slurpy]) { for (var y in x) say(y + "=>" x[y]); } | ||
| NotFound | Ah, yes, thanks. | ||