|
Parrot 0.6.0 "P&P" released | Please mentor for SoC | parrotcode.org/ Set by moderator on 7 April 2008. |
|||
|
00:02
paco joined
|
|||
| Coke pongs whoever that was. | 00:11 | ||
| particle | lazy bum | 00:12 | |
| Coke | floss? | 00:25 | |
| purl | floss is probably Free/Libre and Open Source Software : en.wikipedia.org/wiki/FLOSS or useless to a toothless bot | ||
| diakopter | cpan is not installing Test::TAP::HTMLMatrix on x86 solaris 10. grrr. test failures in Petal. | 00:26 | |
| Coke | oh, duh. "make -j realclean" | 00:32 | |
| (damn that's faster.) | |||
| what is t/library/mt19937ar.t ?? | 00:44 | ||
| diakopter | well, Petal installed using the system perl. the system perl it is. | 00:48 | |
| cotto_work | that was committed earlier today: www.parrotvm.org/svn/parrot/revision/?rev=26843 | 00:54 | |
| Coke | test is failing. | 00:55 | |
| Coke sees why. | |||
| dalek | r26849 | coke++ | trunk: | 00:59 | |
| : [build] | |||
| : Generate PBCs for two recently added library PIR files: This allows | |||
| : the newly minted test for mt19937ar a chance to pass. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26849 | |||
| diakopter finishes setting up the x86 solaris autosmoker | 01:00 | ||
| tinyurl.com/3ujukq | 01:10 | ||
| skids would like to smoke on hp-parisc debian but still alignment problems as of last night's cvs. | 01:15 | ||
| won't even build. | |||
| diakopter takes a vote: netbsd or freebsd for the next autosmoker. or both? | 01:16 | ||
| i'll take that as a both. | 01:17 | ||
| Infinoid | both++ | 01:32 | |
| skids: what alignment is hp-parisc, anyway? and what are the problems? | |||
| ok, you know you've been playing too much D&D when you think "alignment" in the "good or evil" sense, and automatically turn that into "big and little endian", without realizing alignment is something else. | 01:33 | ||
| skids | I think it's probably the same issue as i86 32bit-on-64-bit would have. Hold on let me grep for the IRC log | 01:35 | |
| particle | you can perl Configure.pl -m=32 or something like that | 01:38 | |
| that will build 32bit on a 64bit arch | |||
| --m=32 Build 32bit executable on 64-bit architecture. | 01:39 | ||
| memory++ | |||
| Infinoid | let me try that | 01:40 | |
| particle | leo used to do it all the time on amd64-linux | ||
| Infinoid | but, uh... if amd64 running x86 code has different alignment constraints, that doesn't sound like very good x86 emulation | ||
| so it surprises me. | |||
| particle | diakopter: you may find the smoke cycle is faster with rm -rf * && svn extract rather than make realclean && svn up | 01:41 | |
| yeah, i don't expect different alignment constraints | |||
| Infinoid | all right, more -j bugs | 01:42 | |
| src/pmc/parrotio.c:17:35: error: pmc_fixedintegerarray.h: No such file or directory | |||
| src/pmc/parrotinterpreter.c:17:35: error: pmc_fixedintegerarray.h: No such file or directory | 01:43 | ||
| particle | hrmm | ||
| i wonder if that's fallout from recent FIA changes | |||
| probably not | 01:44 | ||
| Infinoid | Coke seemed to have a master plan regarding automatic dependency generation, which sounded like a good idea | ||
| maybe it missed this. or maybe there's something we need to update | |||
| skids | Infinoid: nopaste.snit.ch/12492 | 01:45 | |
| Oops I guess maybe that expired. | |||
| Infinoid needs a libicuuc | |||
| (a 32 bit one, that is) | |||
| tetragon | ICU4C? | 01:46 | |
| Infinoid | that might be a Configure.pl bug. Could it have detected the 64 bit one by accident? | ||
| tetragon: huh? | |||
| tetragon | libicu is from ICU4C | ||
| Infinoid | [...]/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/4.2.3/../../../libicuuc.so when searching for -licuuc | 01:47 | |
| [...]/ld: cannot find -licuuc | |||
| tetragon | It's ICU4C | ||
| Infinoid | thanks. unfortunately, gentoo tends to group 32-bit emulation libs into emulation packages, and I'd rather just find a way to disable ICU in Configure.pl | 01:48 | |
| (gentoo's system makes it hard to find which package to install) | |||
| nopaste | "skids" at 71.233.204.100 pasted "parrot build warnings and failure on PA-RISC linux" (70 lines) at nopaste.snit.ch/12643 | ||
| tetragon | --without-icu? | 01:49 | |
| skids | nopaste.snit.ch/12643 <<-- is from older svn co but many of the same warning and same failure when I checked yesterday. | ||
| Infinoid | oh. pointers have alignment constraints? | ||
| tetragon: thanks, trying that now | |||
| skids: is there a way we can tell gcc to apply those constraints to the integers (or whatever) that are being casted? can we wrap it up into a PARROT_STRICT_ALIGN macro somehow? | 01:50 | ||
| skids | Yeah in some environments various things are aligned differently and pointers have more bits if they are char * or point to code vs data. | ||
| Infinoid | wonderful. no wonder ia64/pa-risc has the most linker code of any architecture. | 01:51 | |
| skids | Well, if I were a C99 expert I could answer that :-) As it is I can just know vaguely what the problem is. | ||
| Infinoid | sooo... is there an __attribute__((align=picky)) or somesuch? :) | ||
| skids | A lot of the code chunks are copying to a local var anyway, and if the macros can rearrange into memcpy that would work... see the URL in the nopaste for a BSD hacker's take on the matter. | 01:53 | |
| Infinoid | I don't see a URL | 01:54 | |
| particle | luckily, that platform isn't required for parrot 1.0 | ||
| Infinoid | thanks for helping me to understand this btw :) | ||
| particle | it'd be nice to have, but we can march forward without it | ||
| skids | Well you know -- 64bit -- with it you have huge ass pointers that choke your memory bus. Without it you have crummy memory paging tricks. | 01:55 | |
| What's a guy to do? | |||
| Infinoid | we'll see how painful it is to fix up... if we can macroize it into something that gets declared along with variables that get involved with pointer casting, it probably won't be too bad. | ||
| particle really wants amd64/win32 fixed up | |||
| Infinoid | skids: run out of memory, just like I do on amd64 :) | 01:56 | |
| I used to think 2 gigs was big. Heh. | |||
| tetragon | Infinoid: I grew used to running out of address space on my 32-bit processes | ||
| Infinoid | tetragon: yeah, that's a problem too. but my current one is, amd64 process memory footprints are twice as big as x86 ones, so 2GB of RAM just doesn't cut it | 01:57 | |
| for years I was thinking we should formally introduce RAM as a form of currency. But the inflation rate is horrid. | 01:58 | ||
| tetragon | Infinoid: I'm more used to Power/PPC64 than amd64 | ||
| skids | yeah well ram is cheap, bandwidth is the real problem. | ||
| Infinoid | skids: any chance you can dig up that BSD hacker's URL? | 01:59 | |
| particle: what's the issue with amd64/win32? does it run? does parrot build? | 02:00 | ||
| particle | doesn't config | ||
| oh wait | 02:01 | ||
| it builds, but everything's all funky | |||
| it basically always segfaults because sizeof int and sizeof ptr are different | |||
| the backtraces are fun. the interp is at a different location in every stack frame | 02:02 | ||
| skids | mail-index.netbsd.org/tech-kern/200.../0001.html | ||
| sorry i thought it was in there | |||
| tetragon | What's so strange about LP64 platforms? | ||
| Infinoid | hmm | 02:04 | |
| particle: what's so different about amd64/linux and amd64/win then? coz it all works here. | |||
| JIT is disabled by default... otherwise things are looking pretty good. | 02:05 | ||
| particle | it's windows that has the size differences | ||
| translating from function to data pointers and vice versa | |||
| Infinoid blinks | 02:06 | ||
| both of my pointer types are 64 bit | |||
| particle | there are incorrect assumptions in the parrot source that sizeof int == sizeof ptr | ||
| Infinoid | I've fixed all of those that I've come across | ||
| are your data pointers and function pointers really different sizes? wow. | 02:07 | ||
| particle | i'm updating my 64bit wc, i'll try to rebuild | ||
| tetragon | msdn2.microsoft.com/en-us/library/a...S.85).aspx | ||
| particle | yep | ||
| Infinoid | that sounds painful to fix | ||
| particle | which is pretty much why it isn't fixed yet | 02:09 | |
| Infinoid | all pointers are 64-bit, here. I'm in shock :) | ||
| particle | i've gotta eat. perhaps we can take it up later, or tomorrow. | 02:12 | |
| tetragon++ for the nice link | |||
| particle runs configure & make and walks away | |||
| skids | (and will return to figure out he was not in the cwd he thought he was :-) ) | 02:14 | |
|
02:23
kid51 joined
|
|||
| skids | re freeze/thaw what's it used for? Because for complex structures you can spend extra cpu time making them dense for low-bandwidth network transmission, or not if they are just being packed for relocation or something. | 02:25 | |
| Coke | are we still having those new make -j failures? I can't see where the pmcs you refer to actually include those files they were complaining about. | 02:48 | |
| (and the automatic dependency checker for PMCs is already checked in...) | 02:52 | ||
| Infinoid | I'll try to reproduce it, I think the delay from not using ccache helped | 02:53 | |
| it occurred while I was doing a Configure.pl -m=32 on amd64, so there may have been other weirdnesses occurring | |||
| Coke | ah. I can duplicate it. | ||
| (with a clean, and then "make src/pmc/parrio.o" | 02:54 | ||
| (will have this fixed shortly) | 02:58 | ||
|
03:00
purl joined
|
|||
| Coke | Infinoid: fixed. | 03:13 | |
| dalek | r26850 | coke++ | trunk: | ||
| : [build] | |||
| : Improve dependencies- | |||
| : * some static .h files depend on autogenerated .h files, be explicit. | |||
| : * using METHOD requires FIA. | |||
| : This fixes the broken deps for src/pmc/parrot{interpreter,io}.o | |||
| : Infinoid++ for finding the bug. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26850 | |||
|
03:17
particle joined
|
|||
| Coke writes a quick script to check the deps on all the other pmc files. | 03:20 | ||
| Infinoid | Coke++ | 03:21 | |
| Coke | ooh, found one. | 03:23 | |
| odd, I can't duplicate that one. =-) | 03:39 | ||
| make -j 666 world works. | 03:49 | ||
| Infinoid | there isn't enough parallelization in the build tree to allow that many processes | 03:50 | |
| otherwise, make -j without a count would hose systems | |||
| which one was failing? | |||
| Coke | fixedintegerarray.pmc failed for me once, but I was unable to duplicate it on a retry; I had thought it was because I had added it as another dep of itself, but it seems ok. | 04:09 | |
| Coke finds a bogus op. | 04:29 | ||
| dalek | r26851 | coke++ | trunk: | 05:00 | |
| : Resolve ticket #46479 (Remove rt.saved.search from tools/util/release.json?) | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26851 | |||
| r26852 | coke++ | trunk: | 05:10 | ||
| : Resolve ticket #46911 ([TODO] [Perl] Investigate todo item within tools/dev/install_files.pl) | |||
| : Remove old TODO comment that didn't tell us what to do. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26852 | |||
|
05:15
Dave joined
06:15
uniejo joined
07:02
iblechbot joined
|
|||
| dalek | r26853 | fperrad++ | trunk: | 07:30 | |
| : [docs] | |||
| : since r26756, list_unjitted.pl moved in tools/dev | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26853 | |||
|
08:33
IllvilJa joined
08:34
Senaka joined
|
|||
| Senaka | purl: seen infinoid | 08:34 | |
| purl | infinoid was last seen on #parrot 4 hours and 44 minutes ago, saying: which one was failing? | ||
| Senaka | hi all... when is the #parrot-sketch meeting? in GMT? | 08:35 | |
|
08:36
cosimo_ joined,
cosimo joined
|
|||
| Senaka | ok got it | 08:37 | |
| purl: parrotsketch | |||
| purl | i think parrotsketch is 18:30 UTC, Tuesdays or a weekly status meeting for parrot design team | ||
|
08:55
ruoso joined
08:58
Debolaz_ joined
09:01
Maddingu1 joined,
skids joined
09:08
particle joined
09:13
ruz joined
09:16
Khisanth joined
09:24
AndyA joined
09:35
tetragon joined,
skids joined
10:15
ambs joined
|
|||
| rotty | how do the lib/Parrot/Test/<Language.pm> files relate to the test harness? | 10:24 | |
|
10:28
AndyA_ joined
11:36
AndyA joined
11:48
paco joined
11:56
AndyA_ joined
11:58
Daveman joined
12:00
Ademan_ joined
12:02
iblechbot joined
12:15
ambs joined
|
|||
| rotty | seen barney? | 12:16 | |
| purl | barney was last seen on #parrot 15 hours and 22 minutes ago, saying: calling it a day, looking forward to rotty's patches | ||
| ambs | seen merlyn? | 12:19 | |
| purl | merlyn was last seen on #moose 18 days and 14 hours ago, saying: ... methodsandmessages.vox.com/library/...ltalk.html [Mar 20 15:09:20 2008] | ||
| ambs | :-S | ||
|
12:50
Daveman joined
12:58
kj joined
|
|||
| dalek | r26854 | fperrad++ | trunk: | 13:01 | |
| : [Lua] | |||
| : - fix table.sort() | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26854 | |||
|
13:05
wknight8111 joined
13:22
skids joined
|
|||
| wknight8111 | anybody else try to build this morning on r26854? | 13:37 | |
| pmichaud | I was just about to do so :-) | 13:39 | |
| takes about 2 min | |||
| ambs svnups | 13:40 | ||
| pmichaud | seems to work fine here | 13:41 | |
| at least, I was able to build okay | |||
| paco | making | 13:43 | |
| ambs | builds ok | ||
| diakopter | I just smoked r26843 on several platforms | 13:44 | |
| oops r26853 | |||
| ambs | this is not smoking yet, but with the heat it should smoke soon O:-) | ||
| wknight8111 | I ran it just now on the latest, and make is complaining about a cyclic dependency | ||
| pmichaud | wknight8111: what platform? have you recently done a 'make realclean'? | ||
| wknight8111 | i did nmake realclean, configure, nmake. | 13:45 | |
| #52596 | |||
| did it twice, actually. same result both times | 13:46 | ||
| particle | nopaste? | ||
| purl | i think nopaste is at nopaste.snit.ch/ (ask TonyC for new channels) or rafb.net/paste or paste.husk.org/ or poundperl.pastebin.com/ or paste.scsys.co.uk/ or don't bother me while I'm eating | ||
| nopaste | "ambs" at 77.54.92.255 pasted "Test Summary Report - Mac OS 10.5.2" (10 lines) at nopaste.snit.ch/12647 | 13:49 | |
| ambs | 1 test failing | 13:50 | |
| paco | on linux make smoke ok | 13:51 | |
| nopaste | "wknight8111" at 71.230.33.251 pasted "Build error on r26854" (56 lines) at nopaste.snit.ch/12648 | 13:53 | |
| Coke | wknight8111: bah. that's my fault: gmake apparently says 'oh, that's a circular dep, I'll drop it.' | ||
| hang on. | |||
| purl | i guess hang on. is this from the command prompt, or from within the ide? | ||
| wknight8111 | okay, thanks | 13:54 | |
| rotty | why does the test harness execute this: [perl -le '... some code...'] ? | ||
|
13:55
Theory joined
13:56
AndyA joined
|
|||
| Coke | wknight8111: is it possible to get nmake to *tell* us what the circular dep is? | 13:56 | |
|
13:58
rdice joined,
iblechbot joined
|
|||
| pmichaud | coke: nopaste.snit.ch/12648 | 13:58 | |
| says it's src\\pmc\\pmc_fixedintegeraray.h | 13:59 | ||
| Coke | ... that tells us one node in the cycle. =-) | ||
| pmichaud | ah | ||
| Coke | wknight8111: can you try removing the dep of src/pmc/pmc_fixedintegerarray.h from src/pmc/pmc_fixedintegerarray.dump and rebuild? | 14:03 | |
| ah, I can at least get the error message with 'make src/pmc/fixedintegerarray.o' | 14:05 | ||
| ambs | me too | 14:07 | |
| diakopter | Coke: in languages-smoke on linux, it was hanging up on tcl/t/cmd_expr.t for a very long time | 14:08 | |
|
14:08
Ademan_ joined
|
|||
| Coke | diakopter: yes, it's slow. | 14:10 | |
| wknight8111 | I dont think nmake can be more verbose, I'll check the options | 14:12 | |
| no, it doesnt have a more verbose error reporting mode | 14:13 | ||
| Coke | wknight8111: fixed, I think. | ||
| sadly, I had a patch very similar to that which i threw out yesterday because it didn't seem to be needed on my box. Thanks for the report. | 14:14 | ||
| dalek | r26855 | coke++ | trunk: | ||
| : [build] | |||
| : Avoid circular dependency for fixedintegerarray: while it's used for METHODs, | |||
| : we can't have it require it to be built before it's built. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26855 | |||
| wknight8111 | let me try updating to that and see if it fixes my problem | ||
| ambs | seems to build ok | 14:15 | |
| ambs makes real clean and tries from scratch | 14:16 | ||
| Coke | you'd need a reconfig at least. | ||
|
14:21
AndyA_ joined
|
|||
| ambs | ccache++ | 14:22 | |
| Coke | ... make -j ++ ++ ++ | 14:23 | |
| ambs | Coke: does parrot compile with -j already? | ||
| Coke | yes. | 14:24 | |
| if it doesn't, tell me. | |||
| ambs | nice | ||
| paco | I can compile with -j | ||
| particle | can we config with -j ;) | ||
| ambs | nice | ||
| Coke | particle: we could if we switched our config to a makefile. | 14:25 | |
| config dep management. | |||
| particle | P::FM could be used | 14:26 | |
| Infinoid | make -f Configure.mk -j | ||
| make -j | |||
| particle | but, really, || test is where we need to go | ||
| Infinoid | make test -j | ||
| nopaste | "particle" at 24.19.3.148 pasted "infinoid: that stack trace i promised you" (37 lines) at nopaste.snit.ch/12650 | 14:31 | |
| particle has a mexican jumping interp | 14:32 | ||
| libparrot.dll!runops_slow_core(parrot_interp_t * interp=0x0000000000000000, ... | |||
| whee! | |||
| cognominal | scary | 14:33 | |
| Infinoid | stack smash? | ||
| particle | this is life with parrot on x86_64-msvc | 14:34 | |
| Infinoid | that almost looks like a buggy stack dumper. | ||
| thanks for the paste | |||
| particle | if i step through a program, i can watch the interp move around | 14:35 | |
| it's not the dumper that's buggy | |||
|
14:36
AndyA joined
|
|||
| wknight8111 | yeah, build worked this time! Thanks Coke++ | 14:44 | |
|
14:48
AndyA joined
15:20
contingencyplan joined
15:27
ask_ joined
15:31
peeps[work] joined
15:35
cognominal joined
15:39
grim_fandango joined,
contingencyplan joined
15:48
Theory joined
|
|||
| Coke | wknight8111: heh. break the build, fix teh build, get karma. =-) | 15:49 | |
| rotty | karma rotty? | ||
| purl | rotty has neutral karma | ||
| particle | rotty++ | 15:50 | |
| ...and it begins. | |||
| rotty | karma rotty? | ||
| purl | rotty has karma of 1 | ||
| rotty | :) | ||
| thanks | |||
| particle | karma particle | ||
| purl | particle has karma of 1277 | ||
|
15:50
nopaste joined
|
|||
| particle waits for 1337 | 15:51 | ||
| karma coke | |||
| purl | coke has karma of 1837 | ||
| particle | karma must be age-based :P | ||
| purl | must be age-based :p has neutral karma | ||
| particle | purl is so stupid. | 15:52 | |
| cotto_work | purl, purl? | ||
| purl | i heard i was going alone. or almost an anagram of Donaudampfschiffahrtskapitaensmuetzenkordel or a perv or an auto-triage bot or a she or so stupid or a smartass or the sixth beatle. or www.infobot.org or dumb or a butt sniffer | ||
|
15:56
sjansen joined
|
|||
| wknight8111 | purl is definitely a butt sniffer | 16:00 | |
| purl, purl? | 16:01 | ||
| purl | i am going alone. or almost an anagram of Donaudampfschiffahrtskapitaensmuetzenkordel or a perv or an auto-triage bot or a she or so stupid or a smartass or the sixth beatle. or www.infobot.org or dumb or a butt sniffer | ||
| wknight8111 | it's the small things in life | 16:02 | |
|
16:04
contingencyplan joined
16:32
kj joined,
kj left
|
|||
| particle | Tests=11110 | 16:46 | |
| yay! parrot has thirty tests now. | 16:47 | ||
| Tene | hehe | ||
| wknight8111 | how often is the documentation on parrotcode.org updated to reflect the current file documentation? | 16:49 | |
| particle | every hour or so iirc | 16:57 | |
| or maybe it's daily. coke would know | |||
| wknight8111 | oh, i didn't realize it was so frequent. I was under the impression that some of the files were a little out-of-date | 16:58 | |
|
17:03
particl1 joined
|
|||
| particle | opbots, names | 17:04 | |
|
17:20
ambs joined
|
|||
| jonathan | particle: I can't make parrotsketch, will you be there? If so, I can paste you my report in /msg | 17:23 | |
| particle | paste it to #parrotsketch | 17:25 | |
| it's logged, after all :) | |||
| jonathan | oh, good idea ;-) | ||
| well, mention I left it there :) | |||
| particle | sure | ||
| jonathan | don't want to look like I'm slacking ;-) | ||
| ok, done | 17:26 | ||
| gotta go - dinner with $DAYJOB folks | |||
| particle | ~~ | 17:27 | |
| Infinoid gets back from the dentist with half his face numb | 17:29 | ||
| particle | ...as long as it's not the top half... | ||
| pmichaud | I always noticed that major portions of my wallet were missing... :) | ||
| Coke | docs on the website are cached for 24 hours usually. | ||
| particle welcomes our viewers who have just returned from scrollbackland | 17:30 | ||
| Coke fires up his UTC clock. | 17:32 | ||
| pmichaud | 17:33 here | 17:33 | |
| Coke | hai. | ||
| ambs | 18:33 here | ||
| pmichaud | ambs, your UTC clock is an hour off :-) | ||
| Coke | PS in about an hour, or your parrot is free. | ||
| it's 18:33 in london. =-) | |||
| ambs | Coke: and portugal | ||
| purl | portugal is .pt | ||
| Coke is guessing they just went to DST or something. | |||
| ambs | yes | ||
| pmichaud | 18:33 in london, yes. but it's still 17:33 (now 17:34) UTC | 17:34 | |
| ambs | for one week or two. Can't remember | ||
| Coke | ambs;OH. you meant here==where you are, not here==utc from your standpoint. =-) | ||
| ambs | pmichaud: true | ||
| pmichaud | utc is the same everywhere | ||
| Coke | english is hard. | ||
| wknight8111: don't respond to the autoreply, respond to the ticket. =-) | 17:35 | ||
| wknight8111 | man, I'm bad at this whole system | 17:37 | |
| I need to be banned from all this | |||
| Coke | nbd. just that no one else has your original autoreply, so it shows as two threads now. =-) | 17:39 | |
| rotty | why does the test harness evaluate "perl -le "print join qq[\\n], @INC" ? | 17:47 | |
| Infinoid | are you asking what it does? | 17:48 | |
| rotty | what it does and why it's there | ||
| Infinoid | it's grabbing perl's module search-path | 17:49 | |
| avar | if it's screwing with your non-p5 harness_perl you might be interested in the hack I used in kp6 to get around that | ||
| rotty | Infinoid: it does that even when the "exec" parameter to the harness is set to something different from perl, which will not work | ||
| avar: kp6? | 17:50 | ||
| purl | somebody said kp6 was mean as an infrastrucure to implement STD | ||
| Infinoid | rotty: where? having trouble grepping for that | ||
| avar | kindaperl6 | ||
| rotty | avar: where is the kp6 code? it's neither under languages nor compilers... | 17:51 | |
| pmichaud | kp6 is in the pugs repo | ||
| rotty | Infinoid: don't know, I also could not find the causing place... | ||
| Infinoid | hmm. | ||
| pmichaud | who (if anyone) is working on parrot's test harness at the moment? | 17:52 | |
| avar | I basically did exit 0 if "@ARGV" =~ /perl -le "print ... / | ||
| in the kp6 executable, there may be a better way around it | |||
| Infinoid | rotty: oh, it looks like test harness boilerplate. its in Test::Harness::Straps (that's /usr/lib/perl5/5.10.0/Test/Harness/Straps.pm on my system) | ||
| Coke | kp6 is also "kinda perl 6" | 17:53 | |
| purl | okay, Coke. | ||
| rotty | can someone fix the Parrot harness to not invoke that boilerplate if exec is not perl? | 17:54 | |
| rotty is a Perl noob | |||
| Coke | how are you running the parrot harness if your exec is not perl? | 17:55 | |
| Infinoid | its a side effect of using the normal perl Test::Harness, which was written with perl in mind. I'm not sure what's the best way to tackle that | ||
| avar suggests his way of doing it:) | 17:56 | ||
| or write a shellscript wrapper around your program | |||
| rotty | Coke: use Parrot::Test::Harness language => 'eclectus', exec => [ 'petite', '--script' ], | ||
| Coke | ah. | ||
| rotty | Infinoid: can't one somehow override that behaviour in Parrot::Test::Harness ? | 17:59 | |
| Infinoid | rotty: considering your command line is straight from the Parrot::Test::Harness SYNOPSIS, it would probably be a good idea to make it work *somehow* :) | 18:02 | |
| pmichaud | rotty: what problem are you looking at/trying to address? | ||
| (high level) | 18:03 | ||
| rotty | pmichaud: running tests with an interpreter that is not perl | ||
| pmichaud | rotty: languages/perl6 does it | ||
| as does languages/abc | |||
| rotty | pmichaud: these use `compiler => ...', not `exec => ...' | 18:05 | |
| pmichaud | so, you need it to run tests with an interpreter that is neither perl nor parrot | 18:06 | |
| rotty | pmichaud: exactly | ||
| pmichaud | and exec => doesn't work? | ||
| rotty | pmichaud: it sorta does, but there is an spurious invocation of the interpreter with args only suited for Perl | 18:07 | |
| pmichaud | rotty: okay. I think I remember seeing a problem like that somewhere before. | 18:09 | |
| I'm of the opinion that we should re-do parrot's test harness from scratch | |||
| particle | starting... now. | 18:11 | |
| pmichaud | I was going to ask questions about it during #ps today | 18:12 | |
| should we stick to Test::Harness, or move to TAP::Harness? | |||
| Infinoid | if you're going to design a new one from scratch, please *please* design it with parallel execution in mind | ||
| pmichaud | we still need Test::TAP::HTMLMatrix? What dependencies do we have? | ||
| Coke | ... isn't ewilhelm already on this? | ||
| particle | ewilhelm or AndyA can tell us a bit about how TAP::Harness fairs on the platforms we care about | 18:13 | |
| Coke | we only need tth for our existing smoke setup, which we've already discussed dumping. | ||
| particle | or whether they think it's ready to support our needs. i'm fairly certain the answer is "yes" | ||
| pmichaud | Coke: perhaps, but my impression is that ewilhelm is more interested in helping someone else build the parrot harness as opposed to building it himself | ||
| particle | the folks in oslo were working on the yaml diagnostics for tap | ||
| i don't know how long until we have a framework built around it that we can use for smoke | 18:14 | ||
| pmichaud | well, my reason for wanting to support tth is so that we can get a public "here's what passes" display for rakudo | ||
|
18:15
kj joined
|
|||
| Infinoid | can we do that on the server side? | 18:15 | |
| one less dependency that way :) | |||
| pmichaud | Infinoid: can we do... what? ... on the server side? | ||
| Infinoid | the public "here's what passes" display | 18:16 | |
| pmichaud | so, the local make smoke passes the test results to a server which then formats it into html? | ||
| in other words, we just need a tap => html tool or something? | 18:17 | ||
| Infinoid | maybe I'm confused. how does yaml tie into this? | ||
| pmichaud | I don't understand that part either :-) | 18:18 | |
| Infinoid | if you guys want to support yaml, you can. it can be converted to html later if needed | ||
| particle | Infinoid: the tap infrastructure is destined to support yaml | 18:19 | |
| so the output would be yaml already | |||
| then it's a matter of writing something that merges the yaml streams and converts to html | |||
| pmichaud | does it need to be yaml? why not just parse the tap output? | 18:20 | |
| Coke | "why not just use something that already exists". =-) | ||
| pmichaud | coke: what do we have that exists and works? | ||
| Coke | smolder? | ||
| purl | smolder is sourceforge.net/projects/smolder or web-based smoke test aggregator used by developers and testers to upload (automated or manually) and view smoke/regression tests using the Test Anything Protocol (TAP). | ||
|
18:22
AndyA_ joined
|
|||
| pmichaud | smolder looks promising | 18:26 | |
|
18:28
chromatic joined
|
|||
| particle | smolder++ | 18:29 | |
| ambs | seen merlyn | 18:30 | |
| purl | merlyn was last seen on #moose 18 days and 20 hours ago, saying: ... methodsandmessages.vox.com/library/...ltalk.html [Mar 20 15:09:20 2008] | ||
| chromatic | #ps time | ||
| particle | merlyn doesn't hang out gere | ||
| here | |||
| rotty | Infinoid++ | ||
| ambs | particle: I know, but purl stands on #perl | 18:31 | |
| O:-) | |||
| Infinoid | rotty: what did I do? | ||
| rotty | you told me about Test::Harness::Straps :) | 18:33 | |
|
19:03
Senaka joined
19:06
Senaka joined,
Senaka left,
rdice_ joined
|
|||
| dalek | r26856 | fperrad++ | trunk: | 19:11 | |
| : [Lua] | |||
| : - fix random library | |||
| : - add tests | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26856 | |||
| nopaste | "particle" at 24.19.3.148 pasted "sizes" (10 lines) at nopaste.snit.ch/12652 | 19:12 | |
| mj41 | smolder or my TapTinder .... mj41.cz/wiki/TapTinder :-) | ||
| particle | hrmm... taptinder. | 19:20 | |
| nopaste | "chromatic" at 63.105.17.30 pasted "Does This Fix 64-bit Pointer Size Problems in UnManagedStruct?" (282 lines) at nopaste.snit.ch/12653 | 19:24 | |
| Coke | chromatic++ # managing PS. | 19:28 | |
| chromatic | The src/mmd.c assertion checks for four-byte pointer alignment, I think. | 19:29 | |
| I'm trying to decide if it has endian problems. I don't think so. | |||
| I don't know a portable way to check if a pointer is properly aligned though. I suspect the compiler won't let you make one that isn't. | 19:30 | ||
| (or it's a bad compiler) | |||
| Coke | chromatic: you have a few tickets assigned to you that may be leftovers. Can you ditch anything that's assigned to you that you don't want? | ||
| chromatic | ditch or fix? | ||
| Coke | well, fix would be best, but if they're ones you're not going to get to them soon, ditching them is probably better. | 19:31 | |
| particle | Figuring out how to pack() Parrot's types...Configure.pl: Unable to find an integer type that fits a pointer. | 19:32 | |
| Infinoid | particle: how is your perl built? | 19:33 | |
| particle tees his configure and make output for 64bit | |||
| Infinoid: it's activestate's 64bit build | |||
| i can get details. do you want -V ? | |||
| Infinoid | no thanks, pack() should have something, we're just detecting it wrong | 19:34 | |
| nopaste | "particle" at 24.19.3.148 pasted "perl -V" (93 lines) at nopaste.snit.ch/12654 | ||
| particle | well, there it is anyway | ||
| Infinoid | twist my arm a little harder. :) | 19:35 | |
| particle | nopaste.pl++ | ||
|
19:36
Theory joined
|
|||
| Infinoid | wait, what? | 19:37 | |
| purl | wait, is -L "follow link" or "gimme information about the link proper"... | ||
| Infinoid | intsize=4, longsize=4, ptrsize=8, doublesize=8, byteorder=12345678 | ||
| your sizeof(long) isn't sizeof(void*) | |||
| nopaste | "particle" at 24.19.3.148 pasted "configure output" (86 lines) at nopaste.snit.ch/12655 | ||
| particle | that's correct. | ||
| chromatic | There's one problem then. | 19:38 | |
| particle | it's how the platform's designed. don't blame me | ||
| gotta love that long long isn't c89 | 19:39 | ||
| Infinoid | purl, forget wait, | ||
| purl | Infinoid: I forgot wait, | ||
| particle | so there's no way to fully support c89 on this platform | ||
| spinclad | there's no uint64 or such? | 19:40 | |
| particle | msdn2.microsoft.com/en-us/library/a...S.85).aspx | ||
| rotty | seen barney? | 19:41 | |
| purl | barney was last seen on #parrot 22 hours and 47 minutes ago, saying: calling it a day, looking forward to rotty's patches | ||
|
19:41
ambs joined
|
|||
| Infinoid | weird that activestate 64bit is built with use64bitint=define, yet intsize and longsize are both 4 | 19:42 | |
| particle | oh, god, no. trying to install parrot 0.4.12? | 19:43 | |
| Coke is replying. | |||
| btw, someone forgot to update parrothist.pod | |||
| Infinoid | particle: perl -e 'my $var = pack("q", 1); print(length($var), "\\n")' | ||
| does that print 8? | |||
| Coke | ... or, I'm an idiot. | ||
| Coke checks. | |||
| idiot. check. | |||
| Infinoid | t/codingstd/idiot.t..... ok (idiot detected) | 19:44 | |
| particle | Infinoid: 8 | ||
|
19:44
Psyche^ joined,
allison joined
|
|||
| Infinoid | ok, that's the packtype we need, now to get it detected properly | 19:45 | |
| particle | t/project/architect.t...ok (allison detected) | ||
| confound | haha | 19:46 | |
| allison | hi particle | ||
| I was able to get my driver's license and vehicle registration changed, fingers crossed that the license will arrive in the mail before I leave the country next Wednesday | 19:47 | ||
| particle | one step forward.... | 19:48 | |
| Coke | what's the new VM for perl6? Chuck Norris. One punch and your code will run in half the time. | 19:51 | |
| allison | :) | ||
| pmichaud | is that going to be the name of the next release? ;-) | 19:52 | |
| s/the next/a future/ | |||
| Infinoid suggests "and boy are its arms tired" | 19:53 | ||
| allison | 0.6.1 codename "Chuck Norris" | ||
| cotto_work | shouldn't that name be saved for a more mature release? | ||
| Infinoid | hah | 19:54 | |
| allison | 62.99.99 | ||
| ambs | lol | ||
| chromatic | Re: pa-risc, I vote for removing the lines 1974-1976 in src/mmd.c | 19:56 | |
| allison | those were bad years anyway ;) | 19:57 | |
| ambs | lololol | 19:58 | |
| ambs wasn't around yet | |||
| particle | that's why they were so bad | ||
| pmichaud | (1974-76) I agree. I was quite pleased when the 80s finally rolled around | ||
| chromatic | ITYM "Morning in America" | 19:59 | |
| Oh hey, here's the problem. | 20:00 | ||
| include/parrot/parrot.h:142-153 | |||
| If pointers and intvals are the same size, hooray! | |||
| Otherwise if pointers and longs are the same size, hooray! | 20:01 | ||
| particle | egad. | ||
| chromatic | Otherwise, pointers and unsigned ints are the same size! They must be! What else might they be? | ||
| confound | heh | ||
| Infinoid | I think win64 needs to use hugeintval here | ||
| chromatic | I think something needs to use "IT'S NOT AN INT OKAY?" there. | 20:02 | |
| particle | why not check to see if INT64 is defined? | ||
| pmichaud | argggh, I've been reading perl too long. At first I thought all those lines were comments. :-| | ||
| ambs | lololol | ||
| particle | let's set up a trigger to prevent pmichaud from committing c code | ||
| Coke | sachmet? | ||
| confound | Coke: not here | 20:04 | |
| nopaste | "Infinoid" at 96.238.213.50 pasted "particle: so... does "long long" work? (possible_win64_fix.diff)" (86 lines) at nopaste.snit.ch/12656 | 20:07 | |
| Infinoid | particle: I'm looking at the "Figuring out how to pack() Parrot's types...Configure.pl: Unable to find an integer type that fits a pointer." line from your Configure.pl output. | 20:08 | |
| Coke | confound: I was asking purl. | 20:10 | |
| confound | oh, sorry. | ||
| Coke | np. =-) | ||
| nopaste | "particle" at 24.19.3.148 pasted "configure output, post patch" (85 lines) at nopaste.snit.ch/12657 | ||
| Infinoid | you know, I'm not sure the "ptrconst" value probed for is ever actually used | 20:11 | |
| but I guess that fixed it. thanks for testing, particle | |||
| particle | i'm rebuilding now | 20:12 | |
| lots of conversion and pointer truncation warnings still remain | 20:13 | ||
| Infinoid | "ack -a" only reports the detection, testsuite, and generated config output. ptrconst isn't ever used, that I can see | ||
| Infinoid fixed something worthless! o/ | |||
| particle | priceless. | ||
| ambs | hehehe | 20:14 | |
| Coke | if it's never used can we rip it out now? | ||
| nopaste | "chromatic" at 63.105.17.30 pasted "Avoid (Some) Pointer Cast Truncations" (15 lines) at nopaste.snit.ch/12658 | 20:15 | |
| chromatic | Does this help, particle? | ||
| Infinoid | Coke: might as well, and see what breaks. | ||
| Coke | ... is there an easy way for me to get a list of every generated file in the repo? | 20:16 | |
| Infinoid | MANIFEST.generated ? | ||
| purl | it has been said that MANIFEST.generated is wrong. | ||
| Coke | ... hurm. svn st, mebbe. | ||
| rotty | barney has commit acess right? | 20:17 | |
| chromatic | right | ||
| Infinoid | svn st --no-ignore | cut -c 8- | ||
| (that will also include local modifications.) | |||
| rotty anticipates barneys review of his patches | 20:18 | ||
| rotty notes that StGit rocks for managing a patch series | |||
| particle | chromatic: perhaps some, but still src\\ops\\experimental.ops(51) : warning C4312: 'type cast' : conversion from 'opcode_t' to 'FLOATVAL *' of greater size | ||
| zillions of opcode_t and size_t warnings | 20:19 | ||
| ambs makes test one more time, as he does not know enough about parrot atm. | |||
| chromatic | opcode_t is Parrot_Opcode which is a typdef'd long for me. | 20:20 | |
| Hm. | |||
| Maybe I need to fire up the 64-bit box in the other room and cajole it. | 20:21 | ||
| Infinoid | and long is 4 bytes on win64 | ||
| nopaste | "particle" at 24.19.3.148 pasted "partial nmake output after patches" (1400 lines) at nopaste.snit.ch/12659 | 20:22 | |
| Coke | Infinoid: I'm taking that list and running the same dependency checker that I used on the PMC .o files. | 20:24 | |
| hopefully this will rule out any non-race-condition based deps. | |||
| wknight8111 | is there a way in nqp to initialize an array at once? like @array := (1, 2, 3);? | ||
| particle | wknight8111: no | 20:25 | |
| wknight8111 | that's what I figured. | ||
| thanks | |||
| particle | no list context | ||
| pmichaud | that might actually change a bit in a future pct revision | ||
| i.e., @array := (1, 2, 3); might work | |||
| but not much else will -- i.e., hash initialization will still require individual elements | 20:26 | ||
| wknight8111 | I'm trying to write up a simple example of an octal-bin converter, as an intro to PGE. I'm using a lookup table for the conversion | ||
| I was just hoping for an easy way to do it | |||
| pmichaud | I tend to use strings for that sort of stuff. :-) | 20:27 | |
| particle | that's what i was thinking | ||
| wknight8111 | oh you're right. I could do that, couldn't I? | ||
| wknight8111 isn't too bright | |||
| particle | you'll fit right in. | ||
| ambs | Files=565, Tests=11150, 333 wallclock secs (224.10 cusr + 49.19 csys = 273.29 CPU) | 20:29 | |
| :D | |||
| Coke finds some missing deps. whee! | 20:32 | ||
| particle | coke++ | ||
|
20:35
ruoso joined
|
|||
| Coke will let this run and fix them later. | 20:36 | ||
| wknight8111 | is there a way to turn PAST off? I'm writing a little program that parses input, but doesnt form a tree or anything | 20:37 | |
| pmichaud | could just use --target=parse | 20:38 | |
| depends on what you mean by "turn PAST off", I guess. | |||
| chromatic | Try to move in after the first date, for another option. | 20:39 | |
| wknight8111 | well, I dont want to make any PAST nodes, but when I run the program I get the rror "Unable to obtain PAST from program::Grammar" | ||
| pmichaud | the program is written in nqp? | ||
| wknight8111 | So i've been including an empty "make PAST::Stmts.new()" line | ||
| yes | |||
| pmichaud | did you try it with --target=parse? | 20:40 | |
| wknight8111 | I'm trying to demonstrate PGE, so I have a grammar, and a little NQP that prints out if the input is valid or not | ||
| --target==parse prints out the whole parse tree, which I dont want either | 20:41 | ||
| particle | languages\\perl6\\src\\utils\\perl6doc\\actions.pm | ||
|
20:41
AndyA joined
20:42
iblechbot joined
|
|||
| wknight8111 | this is such a stupid little program. I'm going to forget about it for a while. thanks | 20:44 | |
| particle | wknight8111: the file i pointed you to will show you how to print from PAST | ||
| that's what perl6doc does now | |||
| Coke | I am interested in consolidating Makefiles. | 20:45 | |
| (do we really need a separate Makefile for compilers/*, e.g.) | 20:46 | ||
| particle thinks the root Makefile is way to long | |||
| pmichaud | I find the separate makefiles easier to manage | ||
| particle used to work on projects where every directory had a makefile | 20:47 | ||
| Coke | you can have separate *input* makefiles, that's fine. | ||
| pmichaud | do you mean to consolidate multiple *.in files into a single Makefile? | 20:48 | |
| Coke | yes. | ||
| pmichaud | I don't like it -- too much potential for action-at-a-distance | 20:49 | |
| unless we have a really well defined set of macros and things that we know exist in the root makefile | |||
| (and that other makefiles don't touch) | |||
| particle | .include is your friend | ||
| Infinoid | does nmake understand .include? | 20:50 | |
| particle | it has an include syntax. | 20:51 | |
| !INCLUDE | |||
| Coke | ... action at a distance?? | 20:53 | |
| pmichaud | if I'm modifying pge.in, the rules I add coule affect other .in files in the master Makefile | ||
| s/coule/could/ | |||
| Coke | the separate makefiles we have now prevent using -j on the various subdirectories, and prevent having an understanding of all the dependencies. | 20:55 | |
| Infinoid | I dislike having included Makefiles - wherever the included makefile is in a different directory, all the relative paths are wrong. | ||
| rotty | what would be the advantage of compiling to NQP instead of PAST? | ||
| Infinoid | however, I dislike having separate "make" invocations even more, because as Coke says, it breaks -j. | 20:56 | |
| Coke | Infinoid: we could fix that if we did the includes at compile time. | ||
| er... | |||
| at *configure* time. | |||
| when we're already massaging the heck of the .in files. | |||
| Infinoid | that works for me | ||
| pmichaud | I'm not sure that having a single makefile means we understand all of the dependencies, but I'll pass on that | ||
| personally, -j doesn't seem all that important to me | |||
| but that doesn't mean it's unimportant to others, I guess | |||
| rotty: (compiling to NQP versus PAST) -- I'm not sure I understand the question? | 20:57 | ||
| particle | || test is more important than || make, becausue test takes way longer | 20:59 | |
| Infinoid | t/codingstd/linelengths.tap: t/codingstd/linelengths.t $(PARROT) | ||
| it doesn't get much uglier than that. :) | 21:00 | ||
| pmichaud misses the ugliness | 21:01 | ||
| particle | times 623 is the ugliness, i think he means | ||
| Infinoid | yeah, what I just proposed is horrid | ||
| pmichaud | yes, I'd accept that as being ugly :-) | ||
| .t.tap seems better :-) | 21:02 | ||
| Infinoid looks forward to a rewritten harness | |||
| particle | of course we won't use make to manage || test | ||
| rotty | pmichaud: barney said the next step for eclectus would be to compile to NQP instead of PAST, and I'm not sure that this will be an advantage | ||
| Infinoid | at least make wouldn't have blatant perly assumptions about the language of a test script | ||
| particle | nqp instead of pir? or past? | ||
| rotty | nqp instead of PAST | ||
| pmichaud | rotty: I agree -- but I would guess (and this is just a guess) that he meant to use NQP to create PAST instead of some other transformation | 21:03 | |
| rotty | pmichaud: no, as the compiler is implemented in Scheme ;) | ||
| particle | yeah, that's what i think barney meant, too | ||
| barney likes playing with multiple back-end implementations | |||
| pmichaud | rotty: then perhaps he means to use nqp instead of scheme | 21:04 | |
| rotty: but you know his statement better than I do | |||
| I'm not sure compiling to nqp would be better... but it might not be bad either | 21:05 | ||
| rotty | pmichaud: I doubt that (switching to NQP), as (AFAIU) the eclectus language is about a compiler implemented in Scheme | 21:06 | |
| well, I'll ask barney when he turns up | |||
| pmichaud | rotty: yes, we'd have to ask barney then | ||
| Coke | looking at the makefile for PGE... the rules for PGE.pbc seem overly complicated. | 21:12 | |
| pmichaud | first we remove any existing PGE.pbc | 21:13 | |
| Coke | ... why? | ||
| pmichaud | because if a later step in the build fails, we don't want the old copy sitting around where someone thinks it passed | ||
| Coke | if you have properly spec'd dependencies, make should handle all of this for you. | ||
| no? | |||
| purl | well, maybe. | ||
| pmichaud | no. | ||
| Coke | aside from "the build failed." which should be a pretty big clue. =-) | 21:14 | |
| pmichaud | except that it's all too easy to overlook | ||
| I kept overlooking it, which is why I put the rm in there | |||
| Coke | ok. why do you build PGE twice? | ||
| and RM it twice? | |||
| pmichaud | it's a staged library (more) | 21:15 | |
| the 'name' rule is written as a perl6 rule (from PGE/builtins.pg) | |||
| so in order to compile it, we have to have a working copy of PGE | |||
| Infinoid | miniPGE? | 21:16 | |
| pmichaud | so we build a copy of PGE with no builtins, then use that copy of PGE to compile the builtin rules, then recompile PGE with the builtin rules | ||
| Infinoid | we can serialize that nicely, if we can call the two versions different filenames | 21:17 | |
| Coke | ja. | ||
| chromatic | You should port PGE to JavaScript, then use it to build itself with no rules, then use it to build itself with rules, and then use it to remove PGE.pbc. | ||
| I think a Perl 6 compiler magically falls out of there around step 7. | |||
| pmichaud | except that the program that compiles the builtins (Perl6Grammar.pir) expects to load PGE.pbc | ||
| so if we have a miniPGE, we also need a miniPerl6Grammar.pir | |||
| Coke | we can tweak it to take a param. | 21:18 | |
| pmichaud | and this is all important.... why? | ||
| chromatic | Is it worth it to take a param though? | ||
| Coke | pmichaud: because we need someone other than you to be able to maintain the makefile. =-) | ||
| pmichaud | I can add comments into the makefile | ||
| Coke | that would be most helpful. | ||
| pmichaud | but creating a separate minipge seems to me to be more maintenance hassle than what exists now | 21:19 | |
| Tene | pmichaud: can you write a makefile to add the comments for you? | ||
| Coke | *thwap* | ||
| pmichaud | and what exists now is fairly robust in that it doesn't leave partially-built pge.pbc files around that might get used | ||
| Coke | neither would Infinoid's version. | ||
| pmichaud | yes, it would | ||
| at least it would on my system | |||
| because if building PGE.pbc fails, the makefile doesn't automatically remove $(PARROT_LIBRARY)/PGE.pbc | |||
| Coke | not if you spec'd the dependencies properly and didnt' reuse the same name. | 21:20 | |
| Infinoid | when all else fails, output to PGE.pbc.tmp and rename it into place | ||
| Tene | Oh! We should differentiate based on case! PGE.pbe and pge.pbc. | ||
| Infinoid | Tene: yeah! and you could have one letter per stage... so it looks like its inflating | ||
| pge.pbc | |||
| Pge.pbc | |||
| PGe.pbc | |||
| pmichaud | Makefiles don't automatically remove their targets if they fail to build | ||
| Tene | Best idea ever. | ||
| chromatic | Parrot writes out unfinished PBC files if they fail to build? | ||
| Or am I misunderstanding? | |||
| pmichaud | parrot doesn't destroy existing pbc files | 21:21 | |
| Coke | I think pmichaud is targetting the case where you've already built once. | ||
| pmichaud | which may have come from a previous build | ||
| Infinoid | which is fine, unless something has changed, in which you should depend on something | ||
| pmichaud points to the dependency in the rule above | |||
| chromatic | Okay, I thought it might be that. | 21:22 | |
| pmichaud | I have a dependency in place for $(PARROT_LIBRARY)/PGE.pbc | ||
| Coke | but if the build fails, it *fails*. | ||
| pmichaud | but if one of the sources changes, I'm not guaranteed that PARROT_LIBRARY/PGE.pbc isn't the old version | ||
| Coke | pmichaud: if the make succeeds, you should be. | 21:23 | |
| pmichaud | (if the make fails) | ||
| Coke | then the make *fails*. | ||
| Infinoid | and PGE.pbc's timestamp isn't bumped | ||
| pmichaud | right but the old library is stilla round | ||
| Tene | Coke: he said earlier that he kept failing to notice that the make failed. | ||
| particle | have all depend on clean | ||
| Infinoid | heh | ||
| by the way, if pmichaud's caution is warranted, it's probably necessary for more than just PGE.pbc. | |||
| pmichaud | this is only weird because we have two separate places for PGE.pbc to live | 21:24 | |
| Coke | which we shouldn't. | ||
| (which is another issue.) | |||
| pmichaud | so, you think PGE should be in runtime/parrot/library ? | ||
| Infinoid | fixing one thing at a time sounds easier | ||
| Coke | if that's where we're running it from, yes. | ||
| what does the compile in compilers do? | 21:25 | ||
| pmichaud | nqp and past also? | ||
| Coke | er.. | ||
| the 'copy' | |||
| purl | the 'copy' is, like, named 'clone' | ||
| Coke | If these are core components of parrot, they should be in a core location. | ||
| library seems reasonable to me, yes. | |||
| pmichaud | tge? | 21:26 | |
| purl | i think tge is slooooow. or the tree grammar engine or how you transform a PGE Match Hierarchy into PIR code. | ||
| Coke | anything in compilers, yes. | ||
| pmichaud | imcc? | ||
| purl | rumour has it imcc is the c of parrot or the problem or the intermediate code compiler | ||
| Coke | does imcc have any generated PBC files? | ||
| pmichaud | it's obviously core | ||
| so it belongs in.... src? | |||
| Coke | let me stop you from enumerating: "everything in compilers/ that generates a PBC should probably generate that PBC into the library." | ||
| pmichaud | and their makefiles should be part of root.in? | 21:27 | |
| Coke | that's a separate issue, but yes, I think os. | ||
| "so" | |||
| pmichaud | what if PGE simply compiled direct to $(PARROT_LIBRARY)/PGE.pbc ? | 21:28 | |
| and didn't create the copy in compilers/pge/ ? | |||
| Coke | I'm not entirely sure why it's not already doing that. | ||
| +1 | |||
| purl | 1 | ||
| Coke smacks uprl. | |||
| I am having definite transposition issues today. :( | |||
| particle | uprl yours! | ||
| chromatic | If PGE put its finished PBC in $(PARROT_LIBRARY), it could build the stage 1 PBC in the local directory and use that for the stage 2 build. | 21:29 | |
| ... provided we can convince Parrot to prefer that PBC over the one in $(PARROT_LIBRARY). | 21:30 | ||
| pmichaud | right | ||
| chromatic | ... which eventually we should be able to do anyway. | ||
| pmichaud | that's the issue I came up with | ||
| particle | is there a reason to keep stage 1 around? | ||
| if stage 2 builds, remove stage 1 | |||
| pmichaud | as it is now stage 1 isn't kept around | ||
| Infinoid | doing that keeps it less confusing | ||
| Coke | it's an intermediate build file. we keep a lot of those around. | 21:31 | |
| (src/pmc/string.c) | |||
| particle | no reason to keep those | ||
| Infinoid | make might try to rebuild if it discovers the intermediate file isn't there | ||
| particle | except for debugging | ||
| but .c is a text file | |||
| pmichaud | correct, if the intermediate isn't present, make will rebuild the target | ||
| particle | only if the source is newer than the target | 21:32 | |
| Infinoid isn't convinced, and goes off to test that. | |||
| Coke | I need to head out. Regards. | ||
| pmichaud | well, this would presume that the target lists the intermediate as a dependency | 21:33 | |
| so if the intermediate is gone, then make treats it as being out of date and rebuilds it, then uses it to rebuild the target | |||
| try it with a .o file sometime -- remove the .o, and make will rebuild it and then rebuild the target | |||
| Infinoid | just tested, GNU make rebuilds a toplevel target if an intermediate target it depends on is removed | 21:35 | |
| pmichaud | yes | ||
| this is exactly how make is supposed to work | |||
| (see my .o example) | |||
| Infinoid | yeah | ||
| so... keep the intermediate around. if it's too confusing to have two PGE.pbc files in two directories with different attributes, call the intermediate miniPGE.pbc | 21:36 | ||
| pmichaud | that doesn't work | ||
| because Perl6Grammar.pir expects to find PGE.pbc | |||
| Infinoid | so we live with the confusion? or overwrite the original? | ||
| pmichaud | if it's a major pain I'll rework the makefile so that there's only one PGE.pbc (in library) | 21:37 | |
| Infinoid | I doubt it matters, as long as library is where parrot looks first | ||
| pmichaud | however, keep in mind that if PGE fails to build at some point (and it's often hard to notice because it's in the middle of the long root build), then you end up with an incomplete PGE.pbc and things start failing | ||
| chromatic | I'm still not sure what the point of rejigging the makefile is at this particular moment. | 21:38 | |
| pmichaud | me neither | ||
| wknight8111 | aegis.sourceforge.net/auug97.pdf | ||
| chromatic | ... but I can imagine a couple of ways where it's possible. | ||
| wknight8111 | link contains lots of good information about make | ||
|
21:38
Limbic_Region joined
|
|||
| particle | coke's aiming to make make -j make faster | 21:38 | |
| Infinoid | pmichaud: how would you feel about removing it upon failure, rather than removing it upon rebuild? | ||
| pmichaud | hmmm? | 21:39 | |
| Infinoid | something along the lines of: $(CC) -o PGE.pbc <stuff> || (rm PGE.pbc; exit 1) | ||
| pmichaud | if we can be certain that they remove on failure, sure | ||
| Infinoid | if that can be made portable | ||
| heh. s/CC/PARROT/ | |||
| pmichaud | and make sure that Parrot's exit codes always make sense for -o | 21:40 | |
| Infinoid | which it probably should anyway | ||
| pmichaud | it should, but I'm not sure that it does | ||
| Infinoid | do we test that yet? sounds useful. | ||
| pmichaud | thus I kept overlooking that the PGE build was failing | ||
| Infinoid | understandable | ||
| in that case, make would overlook it too | 21:41 | ||
| pmichaud | well, make was overlooking it, so I did | ||
| Infinoid | all right. tonight I'll write a test | ||
| pmichaud | I should also note that in the case of PGE, having -j isn't going to help much because it's a sequential process anyway | 21:43 | |
| even if we list the dependencies "right" | |||
| there's no opportunity for parallel build in PGE | |||
| the Makefile is essentially a build script that is in the form of a Makefile, with one target. | 21:44 | ||
| increasing the number of targets isn't going to suddenly discover parallelism where it doesn't exist (in PGE's case) | |||
| Infinoid | right, but that doesn't mean a single all-knowing make couldn't build non-PGE things at the same time | 21:45 | |
| pmichaud | ahhh, having sub-makefiles prevents -j from working? | 21:46 | |
| I figured it just meant those sub-makefiles couldn't participate in being likewise || | |||
| Infinoid | having sub-makefiles makes it more difficult | ||
| one moment, let me dig up a svn rev number | |||
| ok, sorry, that wasn't as relevant as I had hoped | 21:48 | ||
| pmichaud | also, I have trouble seeing what might build in parallel with PGE that can't already do so with the present Makefile | ||
| Infinoid | the whole compilers/PGE directory is currently treated as a single big dependency, which isn't really that far from the truth | 21:49 | |
| pmichaud | exactly | ||
| and tge depends on pge | |||
| nqp depends on pct and pge | |||
| json depends on pge | |||
| Infinoid | so... once pge is done, pct and tge could be built in parallel, and then nqp and json could be built in parallel? | 21:50 | |
| pmichaud | actually, I think that pct and pge can be in parallel, then tge and json and nqp | 21:51 | |
| Infinoid | currently, the compilers.dummy rule of the Makefile will build those 5 in serial. | ||
| pmichaud | right | ||
| I'd change it to be | |||
| compilers: compilers.pge compilers.pct compilers.tge compilers.json compilers.nqp | 21:52 | ||
| then have separate $(MAKE) for each of those | |||
| compilers.pge: $(MAKE) compilers/pge | |||
| compilers.tge: compilers.pge \\n $(MAKE) compilers/tge | |||
| etc. | |||
| Infinoid | yeah, something along those lines | 21:53 | |
| also, I had to fix a faulty dependency in this area, a week or two ago. the dependencies implied libparrot could be built in parallel with pge, rather than libparrot being a dependency of pge | |||
| see the latter half of www.parrotvm.org/svn/parrot/revision?rev=26643 | |||
| pmichaud | oh, that looks like a total pain | 21:54 | |
| because GEN_LIBRARY includes components that depend on PGE.... well, maybe not to build | |||
| it seems weird that we would build $(LIBRARY_DIR)/PGE/Util.pbc prior to building PGE itself :-) | 21:55 | ||
| Infinoid | see, whenever I see something like that, my makefile-rewriting finger starts itching. | 21:56 | |
| pmichaud | a n y w a y | ||
| if you all want to refactor the makefiles, I have no problem with it as long as everything works | |||
| Infinoid | that's a reasonable goal :) | ||
| chromatic | PGE depends on libparrot though. | ||
| pmichaud | building PGE also depends on Parrot/HLLCompiler.pbc | ||
| (for now) | |||
| I do have a problem with increasing the options or number of source code files that are needed to build PGE | 21:58 | ||
| i.e., if I have to maintain separate Perl6Grammar.pir files or various option switches, that seems like a Net Lose. | |||
| I could also eliminate the 2-stage PGE build by simply hand-coding the builtins.pg file as PIR rules | 21:59 | ||
| (there's only one rule in there at the moment) | |||
| but if we ever decide we want a library of standard rules to be part of PGE and that those are coded using regexes as source, we'd need a multi-stage build again | 22:00 | ||
| Infinoid | if we have to move or copy stuff around to maintain atomicity, it should still all come from one source file... anything else is a DRY fail. | ||
| pmichaud | I think that adding options that are only used for building is also some sort of fail | ||
| chromatic | Definitely agreed. | 22:01 | |
| Infinoid starts adding things to t/run/exit.t | |||
| pmichaud | afk, dinner | 22:02 | |
| Infinoid | thanks for the discussion, pm | ||
| dalek | r26857 | bernhard++ | trunk: | 22:06 | |
| : Regenerate MANIFEST.SKIP | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26857 | |||
|
22:08
barney joined
|
|||
| dalek | r26858 | bernhard++ | trunk: | 22:15 | |
| : #52556: [PATCH] Eclectus: simplify PAST generation a bit | |||
| : Courtesy of Andreas Rottmann | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26858 | |||
| rotty | hey! :) | ||
| hello barney | 22:16 | ||
| barney | Hi, just coming home from Frankfurt.pm meeting | 22:17 | |
| rotty | barney: just as an aside: please apply my patches verbatim or reject them (I'm managing them with StGit) | 22:18 | |
|
22:19
kid51 joined
22:20
skids joined
|
|||
| jonathan yawns after a long day's work negotiating | 22:22 | ||
| Four hour flight and airport boringness tomorrow. May get some more Rakudo hacking in. | 22:23 | ||
| barney | rotty: Yes, applying the patches is easier when they are in form as mentioned in submissions.pod | ||
| skids | jonathan: suggestion, if it's easy -- An error message of "Type blah refuses to be assigned type blah " maybe with a "due to where statement" tacked on for refinements -- would be much more useful than "Type check failed". | 22:25 | |
| rotty | barney: what did I do wrong? I did have a look at submissions.pod... | 22:26 | |
| Infinoid | git patches need to be applied with patch -p1, not patch -p0 | ||
| barney | the usual 'patch' does not know about the 'a' and 'b' dirs | 22:27 | |
| rotty | yes, I did not deem this important | ||
| Infinoid | its a git-ism. I guess I'm used to it. | ||
| rotty | (as you can just use -p1) | 22:28 | |
| barney | I just tried that. perhaps I mistyped | ||
| Infinoid | it should work... -p1 tells it to strip the a/ and b/ | 22:29 | |
| jonathan | skids: Completely agree, the first two parts are maybe easy, though for anonymous refinement types it's a tad harder. | ||
| But yeah, needs better error message. | 22:30 | ||
| I'll see what I can do. | |||
| Thanks for the feedback. :-) | |||
|
22:30
iblechbot joined
|
|||
| skids | thanks for the types ;-) | 22:30 | |
| particle | jonathan: you can use "<anon>" for anonymous types until we have something better | 22:31 | |
| dalek | r26859 | bernhard++ | trunk: | 22:32 | |
| : #52588: [PATCH] Eclectus: refactor Perl test wrappers | |||
| : Courtesy of Andreas Rottmann. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26859 | |||
| jonathan | particle: Sure, good idea. | 22:33 | |
| barney | rotty: yes 'patch -p1' works fine | 22:35 | |
| rotty | :-) | ||
| particle | that'd be a nice detail to document somewhere | ||
| jonathan | particle: actions.pm is getting kinda...big. What would you think to trying to refactor some of the larger actions a bit to use various subs, and putting those into a separate .pm file or files? It's just that it takes a little while to compile. | ||
| By "what would you think to", I'm not asking you to do it - just asking what you think of the idea. :-) | 22:36 | ||
| particle | jonathan: i'm not against the idea, as long as they're well-factored | ||
| jonathan | Sure | ||
| Well, actions.pm is close to hitting the minute mark to compile on this laptop. | |||
| And yes, I know that really means I need a new laptop... | |||
| dalek | r26860 | bernhard++ | trunk: | ||
| : #52592: [PATCH] Eclectus: Replace brackets with parens | |||
| : Courtesy of Andreas Rottmann. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26860 | |||
| rotty | barney: what reason do you want to switch to generating NQP instead of PAST for? | 22:38 | |
| particle heads out for a bike ride & | |||
| barney | I want to keep the PAST, just change the PAST-generation code from PIR to NQP. | 22:39 | |
| Just because the syntax is nicer, not so many temporary variables | 22:40 | ||
| rotty | ah, I see | ||
| barney | The PAST generating code can be one big nested constructor | 22:41 | |
| rotty | btw, what do you think about using riaxpander to do the macro expansion stuff for us? | ||
| riaxpander is mumble.net/~campbell/darcs/riaxpander/ | 22:42 | ||
| s/is/is at/ | |||
| btw, there is a good overview of Scheme macro systems at lists.gnu.org/archive/html/chicken-...00013.html | 22:43 | ||
| shorten | rotty's url is at xrl.us/bi4y6 | ||
|
22:47
schmalbe joined
|
|||
| schmalbe | rotty: I'll take a look at it tomorrow. | 22:47 | |
| rotty | barney: are you ok with a subdirectory for each Scheme we support for bootstrapping, or should that be layed out differently? | ||
| schmalbe: ok | 22:48 | ||
| schmalbe | subdirs seem sane. Have you checked with Ikarus? | ||
| rotty | schmalbe: Ikarus doesn't run on my main machine (it needs SSE2 or something) | 22:49 | |
| (so, no) | |||
| dalek | r26861 | bernhard++ | trunk: | 22:51 | |
| : #52600: [PATCH] Eclectus: now works also with Guile | |||
| : Courtesy of Andreas Rottmann. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26861 | |||
| rotty | schmalbe: we should probably select a few (maybe 3) implementations for bootstrapping, to keep the overhead low | 22:55 | |
| dalek | r26862 | bernhard++ | trunk: | ||
| : [Eclectus] | |||
| : Set SVN properties for newly added files. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26862 | |||
| rotty | I'm very much for dumping Petite chez, its command-line interface is *very* limited | 22:56 | |
| schmalbe | Do you recommend Guile ? | 22:58 | |
| rotty | schmalbe: Guile has some problems with macros and modules; Gauche is better in that respect | ||
| dalek | r26863 | bernhard++ | trunk: | ||
| : Give credit to Andreas Rottmann. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26863 | |||
| rotty | (I'm not sure this matters for our purposes, but if we want to use riaxpander, it might) | 22:59 | |
| schmalbe deprecates Petite Chez Scheme for Eclectus | |||
| rotty | dalek: are you aware of the harness "-le" problem? | 23:00 | |
| oh, that should have been schmalbe: ... | |||
| schmalbe | rotty: Are you on IRC tomorrow? | 23:01 | |
| rotty | the current eclectus codebase is not very much suited for compilers because of the way the test harness works, btw | ||
| schmalbe: yes | |||
| schmalbe | Can we do some planning this evening? (Barney realizes it's past midnight) | 23:03 | |
| rotty | schmalbe: sure | ||
| schmalbe calls it a day | 23:04 | ||
| Cool | |||
| rotty | :-) | ||
|
23:10
TonyC joined
23:20
nopaste joined
23:21
rdice joined
|
|||
| Infinoid | kid51: (re: Perl::Critic disappearing) you could always try the brute force method | 23:43 | |
| nopaste | "Infinoid" at 96.238.213.50 pasted "make perlcritic.t dump @INC to stderr" (12 lines) at nopaste.snit.ch/12660 | ||
| Infinoid | if there's anything weird like the search path being truncated, or another rev of perl being invoked, it'll show up there. | 23:45 | |