#parrot Parrot 0.5.2 Released | parrotcode.org/ | see www.parrotcode.org/misc/parrotsketch-logs/ for logs
Set by moderator on 11 February 2008.
wknight8111 okay, thanks. Assuming that I am fixing the issues they reference, can I delete them as I fix? 00:01
chromatic Please do. 00:02
wknight8111 done and done. 00:03
kid51 You might want to take a peek at those tickets in RT and say something there about how your patch will affect them.
00:04 rdice joined
kid51 ptc periodically goes thru the repository and creates new RT tickets from any comments like 'XXX' or 'TODO' -- so they eventually have to be closed. 00:04
00:05 Limbic_Region joined
Limbic_Region Coke ping 00:10
00:11 Andy joined
wknight8111 mem_sys_allocate is a wrapper around malloc? Pointers returned from it need to be freed? 00:18
00:19 davidfetter joined
Andy Are we adding unnecessary braces around blocks 00:27
?
if (foo) { blah; }
wknight8111 from the code i'm looking at, it doesnt appear that way 00:29
of course, it may just be one or two bad files 00:30
00:31 svnbotl joined
wknight8111 what is the difference, exactly, between Parrot_Run_OS_Command, and Parrot_Exec_OS_Command? 00:34
they appear to me to basically do the same thing
no, nevermind. I see what they do now 00:35
svnbotl r25674 | jkeenan++ | tcif: 00:38
: Pull object methods out of Parrot::Configure and place them in new package Parrot::Configure::Base (so that they can be inherited by other packages (to come)).
r25675 | jkeenan++ | tcif:
: For ease of editing, move documentation to end of file.
r25676 | jkeenan++ | tcif:
: Add Parrot::Configure::Parallel.
diff: parrotvm.org/svn/parrot/revision/?rev=25676
01:14 AndyA joined 01:32 Coke joined
svnbotl r25677 | coke++ | trunk: 01:40
: [docs]
: minor docupdates
diff: parrotvm.org/svn/parrot/revision/?rev=25677
Coke I find it somewhat disconcerting that file_metadata.t just barfs if parrot is not configured. 01:41
Ahhhh. prove -v is your friend. nevermind. 01:43
wknight8111 should I use Parrot_warn() for RT#48276? If malloc() or _putenv() fail, there's probably a BIG problem with system memory levels. 01:59
svnbotl r25678 | coke++ | trunk:
: [codingstd]
: Fixup some paren-based codingstd nits.
diff: parrotvm.org/svn/parrot/revision/?rev=25678
Coke wknight8111: Iunno. 02:09
wknight8111 i submitted the patch with Parrot_warn(), so it will have to do 02:20
wknight8111 submitted his first patch!
Coke woot! 02:23
02:35 klapperl joined 02:40 kid51 joined
Coke hey, james. 02:41
I'm about to commit a change to lib/Parrot/Distribution.pm ; any tests you know I should run for sure?
... Urk. can someone explain the shebang in compilers/nqp/t/10-sub.t 02:47
?
02:47 klapperl joined
chromatic My explanation is "This probably won't work." 02:48
Coke I am updating Parrot::Distribution to return .t files that claim to be PIR; I am going to have it assume that not only are .pir PIR, but also that .t with a shebang that includes parrot (but not .pir or .pbc) is PIR. 02:49
... and I was just checking the new files that are caught, and that shouldn't be one of them
I think I'm going to commit my fix anyway. :|
src/gc/dod.c:476: warning: passing argument 1 of 'Parrot_assert' makes integer from pointer without a cast 02:52
... there are hundreds of these.
I think I'm going to count them and open a ticket and assign it to andy!
wknight8111 where is PARROT_ASSERT defined? 02:53
chromatic include/parrot/exceptions.h 02:54
Coke <particle> make tags and then use vi -<mumble> PARROT_ASSERT</particle>
kid51 Coke: I haven't touched Parrot::Distribution in > 1 year. 02:55
Coke hokay. 02:56
kid51 I suspect many of the tests in t/distro and t/codingstd and t/harness exercise it.
I only do little touch-ups in those tests. 02:57
Coke yah, I was making the change to force t/codingstd/pir_code_coda.t to check more files.
svnbotl r25679 | jkeenan++ | tcif: 02:58
: 1. t/harness: Pull pre- and post-configuration tests out of @default
: tests. (Somewhere, chromatic is smiling!)
: 2. config/gen/makefiles/root.in: (a) Eliminate 'configure_tests' make
: target. These tests should be run pre-configuration (with perl
Coke ok. Just wondering if you knew off the top of your head. running test right now.
chromatic Smirking, anyway.
Coke ... taste the rainbow!
bugadmins, lolcode is now a language in RT. Enjoy. 03:00
Coke wonders if it's worth building the ability to memoize into parrot. 03:03
wknight8111 Coke, we can kill all those errors by casting to int in the definition of the PARROT_ASSERT macro
Coke wknight8111: ok. there's a ticket now you can add a patch to. 03:04
chromatic Seems like we should be able to tag subs as :pure
wknight8111 #define PARROT_ASSERT(x) Parrot_assert((int)x, #x, __FILE__, __LINE__)
Coke chromatic: exactly.
svnbotl r25680 | jkeenan++ | tcif:
: Make sure that print_conclusion() always gets a defined value for argument.
diff: parrotvm.org/svn/parrot/revision/?rev=25680
Coke ... we could be lying of course. I suspect we'd get what we deserve, though. 03:05
chromatic Optimizations are all a form of cheating, and cheaters eventually get caught. 03:06
Coke bad .sub; no .donut.
jhorwitz broke t/codingstd/line*.t ; but I don't see how we can fix that. 03:07
(line 231 is too long.)
kid51 line 231 in what file? 03:09
Coke whoops. docs/embed.pod
svnbotl r25681 | jkeenan++ | tcif:
: For ease in editing in this branch, temporarily change the way elements of steps list are typed.
diff: parrotvm.org/svn/parrot/revision/?rev=25681
03:10 Andy joined
avar w 36 03:12
Andy Is there a reason that the *.ops files are only 2-space indents? 03:15
svnbotl r25682 | coke++ | trunk: 03:16
: [codingstd]
: Resolve RT #50046; Parrot::Distribution now returns all .t files that claim
: to be PIR as well as .pir files when asked.
: ... However, this causes t/codingstd/pir_code_coda.t to fail, as many .t
Coke Andy: core.ops doesn't seem to be. 03:17
(seems to be 4.)
Andy string.ops is
Coke isn't that what "shiftwidth" is supposed to indicate? 03:18
(no reason I can see.)
svnbotl r25683 | petdance++ | trunk: 03:23
: a little bit of consting
r25684 | coke++ | trunk:
: [build]
: Silence 2114 warnings in the build. Resolves RT #50074.
Coke ... I added a karma message in there, dammit. 03:25
wknight8111++
Andy yeah, I wish svnbot would put the entire message 03:28
wknight8111 yay! 03:36
svnbotl r25686 | jkeenan++ | tcif: 03:48
: Begin to adapt to TAP::Parser. t/config/025 has a skipped failure;
: postconfiguration tests not running.
diff: parrotvm.org/svn/parrot/revision/?rev=25686
kid51 must sleep 03:51
purl $kid51->sleep(8 * 3600);
svnbotl r25687 | petdance++ | trunk: 03:55
: localizing variables
diff: parrotvm.org/svn/parrot/revision/?rev=25687
04:53 alvar joined
Andy I'm trying to figure the differences between string_append() and string_concat(). 05:08
chromatic One creates a new string, I think. 05:15
05:45 AndyA joined 05:50 krumms joined 06:05 jjore joined
svnbotl r25688 | petdance++ | trunk: 06:11
: moved string_concat next to its brother string_append
diff: parrotvm.org/svn/parrot/revision/?rev=25688
06:22 iblechbot joined
svnbotl r25689 | petdance++ | trunk: 06:23
: added malloclist target to show all the PARROT_MALLOC functions
diff: parrotvm.org/svn/parrot/revision/?rev=25689
07:12 uniejo joined 07:14 paq joined
Tene pings Coke for tickets to work on tomorrow night. 07:29
07:54 skv_ joined 07:56 skv__ joined 07:58 aero joined 07:59 aero left 08:10 HG` joined 08:21 skv__ joined 08:22 marmic joined 08:23 skv___ joined 08:25 uniejo joined 08:34 jonathan joined
moritz who broke the build? 08:51
perlpunks.de/paste/show/47b2afa5.4b18.3e5 08:52
09:21 alvar joined 09:47 kj joined 10:34 ruoso joined
svnbotl r25690 | fperrad++ | trunk: 10:36
: [build]
: - macro argument with parentheses
diff: parrotvm.org/svn/parrot/revision/?rev=25690
r25691 | kjs++ | trunk: 10:43
: [docs] fix line length which was too long.
diff: parrotvm.org/svn/parrot/revision/?rev=25691
10:55 avar joined 11:29 wknight8111 joined 11:32 rdice joined 11:40 jq joined 12:49 krumms_ joined
krumms does anybody know of some decent documentation on code generation for a register-based VM such as parrot? 12:50
kj krumms: there's a lot of literature on compilers 12:55
the dragon book for instance by aho et al.
and I'm sure 15 minutes of googling will yield enough to read the whole afternoon :-) 12:56
krumms kj: not compilers in general, just code generation for register-based machines. I've got a super basic little language cooked up using lex/yacc, but I'm more accustomed to generating code for stack-based machines (the JVM, Python's VM) 12:57
so on a conceptual level I'm struggling a little :) 12:58
12:58 alvar joined
kj ok.usually there's always a chapter on code generation, and I'm pretty sure the dragon book does discuss register based machines 12:58
but as said, there's much to be found in articles on the web 12:59
krumms kj: sure
kj google this: register based machine code generation
at least it will get you up and running with basics. registers can just be seen as stack positions.. 13:00
except that they are numbered
krumms kj: cheers. I think PIR should make it a little easier to deal with, too. 13:01
13:06 lidden joined
kj krumms: especially because PIR has an infinite amount of registers 13:11
no need for an allocator; this is already handled by the pir compiler
krumms kj: fantastic
kj even better: depending on what you want: running your language on parrot or learning about code generation, you can also use the Parrot abstract tree nodes 13:12
krumms abstract tree nodes?
kj then you just need to create these PAST nodes
abstract tree. that's a data structure that parsers generally create during a parse
it's just a bunch of nodes linked together, representing the program you compile 13:13
for instance, a node representing if <expr> then <stmt> should probably have 2 children: the node representing <expr> and one to represent the <stmt>
so the syntax is stripped off, and you just end up with the stuff that matters 13:14
krumms kj: familiar with ASTs, I just didn't realize this stuff was built in :) great to hear
kj it gets even better than this ;-)
krumms *sighs* I need more time in my day, it's already midnight here :(
kj but I don't want to give away too much
krumms haha sure 13:15
kj today, for simple languages, you only need to create a parser, and write some straightforward Perl 6 code to implement a compiler targeting parrot 13:16
oh; i forgot the word "syntax" there with the abstract tree. sorry, that must have been the confusing part :-) 13:17
13:22 davidfetter joined 13:47 ruoso joined 13:53 alvar joined 13:54 HG` joined 13:59 alvar_ joined, alvar__ joined
svnbotl r25692 | jonathan++ | trunk: 13:59
: [rakudo] Big refactoring to the objects implementation to remove a lot of inline PIR from the actions file and to make it earlier to allow different metaclasses to give meaning to various keywords later, as we'll need to do S12. No doubt we'll need futher clear-ups later, but this is further in the right direction.
diff: parrotvm.org/svn/parrot/revision/?rev=25692
14:02 alvar joined 14:03 alvar_ joined 14:07 alvar joined 14:09 alvar joined 14:10 alvar joined 14:11 gryphon joined 14:12 alvar_ joined
svnbotl r25693 | jonathan++ | trunk: 14:12
: [rakudo] Remove another bit of inline PIR in favor of generating PAST nodes.
diff: parrotvm.org/svn/parrot/revision/?rev=25693
14:13 alvar_ left 14:15 iblechbot joined 14:16 IllvilJa joined
moritz jonathan: are you in Erlangen right now? 14:20
jonathan moritz: Yeah. 14:22
moritz jonathan: where?
jonathan Second row, extreme left.
Guy with messy shoulder-lengh-ish hair and over-sized beard who can't speak German. ;-)
moritz ah, I saw you hacking with parrot
im' on your right, one row behind you 14:23
jonathan hi!
svnbotl r25694 | jonathan++ | trunk: 14:25
: [rakudo] Fix accessor/mutator generation for attributes, which got broken.
diff: parrotvm.org/svn/parrot/revision/?rev=25694
moritz jonathan++ # rakudo hacking, coming to Germany
jonathan Yeah, braving the cold!
moritz ;) 14:26
TimToady you're being very productive; maybe we should send you to Deutschland more often :) 14:28
moritz ;) 14:29
perl6 seems to hang on t/spec/S03-operators/assign.rakudo 14:30
it used to produce a syntax error, so I added a #?rakudo 2 skip "not implemented"
no it loops :/
avar somebody shout "Schnell, schnell!" at him:) 14:32
moritz avar: bad idea, would interrupt the talk ;)
avar American media has led me to believe that shouting unparsable sentences at people is acceptable in all social situations in Germany 14:33
TimToady s/in Germany// 14:35
moritz well, "Schnell, schnell" _is_ parsable ;) 14:36
avar If your german is parsable I think you need to work on your shouting:) 14:37
TimToady you just need a mutable parser :) 14:38
then you would misunderstand "Ich bin ein Berliner." perfectly... 14:40
davidfetter turns into a jelly donut
jonathan TimToady: Any Perl event where I don't understand the language of the talks will do. ;-) 14:42
I would say it doesn't have to be in a country this cold, but I've got the Ukranian one come up in a week and a bit...
15:05 jhorwitz joined, rdice joined 15:06 Andy joined
Andy Morning all. 15:08
purl afternoon, Andy
svnbotl r25695 | petdance++ | trunk: 15:28
: removed PARROT_MALLOC from a bunch of functions that actually just snag stuff from pools
diff: parrotvm.org/svn/parrot/revision/?rev=25695
r25696 | jonathan++ | trunk: 15:40
: [core] Role composition using the v-table method ignored resolve_method list; fix this.
diff: parrotvm.org/svn/parrot/revision/?rev=25696
r25697 | jonathan++ | trunk: 15:47
: [rakudo] Fix role composition so methods in the class resolve conflicts and get priority over methods from roles.
diff: parrotvm.org/svn/parrot/revision/?rev=25697
15:49 marmic joined
svnbotl r25698 | petdance++ | trunk: 16:00
: consting & macroing
diff: parrotvm.org/svn/parrot/revision/?rev=25698
16:01 PerlJam joined, jonathan joined 16:02 pmichaud joined 16:09 Coke joined
Coke ~~ 16:12
16:14 leo joined
Coke guten tag, leo. 16:14
leo hi 16:17
purl salut, leo.
16:20 particl1 joined 16:24 contingencyplan joined
svnbotl r25699 | petdance++ | trunk: 16:43
: consting
diff: parrotvm.org/svn/parrot/revision/?rev=25699
16:51 dwave joined
Coke opbots, names 16:54
opbots, trust Tene
clunker Ok
slavorg Ok
16:59 mj41_ joined 17:14 cout joined 17:43 cognominal_ joined
cognominal_ some recent change broke parrot on my intel macbook. It compiles with the i386 _and_ ppc architecture but I unicode library is i386 only 18:07
should I be obliged to compile a Universal parrot by default? 18:09
18:11 krumms joined
Coke nope. 18:31
I think the default for now should not be a fat binary.
18:35 parrot-poke joined
Coke cognominal_: note that fat binary was the default for some time. 18:47
ls 18:49
cognominal_ how come it hurs me know? 18:57
ho, it works anyway, I just did not notice the message before 18:58
being able to compile a fat parrot is good anyway. So that was just a warning tell me that icu was not fat 18:59
s/warning/warning message/ 19:00
Coke ah. 19:02
did you recently start linking against icu?
cage task: add a tool that runs all the coding standards tests against a particular file. 19:03
(each codingstd test should take an optional list of files to check, and just quit if the file doesn't make sense to test.) 19:04
cognominal_ no, I just did not notice the message before. 19:06
btw: as a warming I try to translat Getopt/Obj.pir in Perl6 19:08
once done, I guess that will lead me to handle class/package/module loading by long names 19:09
19:20 peeps[work] joined 19:22 Ron joined
Coke seen chromatic? 19:49
purl chromatic was last seen on #parrot 14 hours and 34 minutes ago, saying: One creates a new string, I think.
19:51 cotto joined
TimToady phone & 19:59
Coke i'll be there as soon as possible. 20:01
TimToady so far I'm the only one...
cotto If I were going to implement a PHPArray PMC, how much of the current code could in Parrot (esp src/hash.c) could I reuse? My main concern is the ability of PHP arrays to be ordered. 20:05
particle take a look at src/pmc/orderedhash.pmc 20:06
see if that fits your needs
cotto thanks
20:11 jrockway joined 20:15 japhb joined 20:20 sjansen joined 20:43 cotto joined
particle Andy: know a good way to list the dirs in a svn working copy without the crud? i don't think ack handles that :( 20:50
Andy ack -fa 20:51
particle dirs, not files
Andy oh, no, ack doesnt' do anything with dirs at all.
Coke once you have the dir list, you can pipeline it.
er, file list.
particle not for empty dirs 20:52
PerlJam particle: find . -type d | grep -v .svn ?
particle <--windows
Coke particle;gimmie a minute.
Andy yeah, that's one where find | grep is the best way to go.
particle i do have unix utils on windows, so find | grep works for me, but not in general 20:53
PerlJam particle: perl -MFile::Find -e 'find(sub { -d $_ && print }, @ARGV);' # untested :)
jhorwitz nopaste?
purl i guess 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
particle if file::next was taught to deal with dirs, it'd be an easy add to ack, but i don't know if you want to go there. 20:54
PerlJam of course you still need to add the part that ignores the "crud"
Andy I don't want ack to do anything with directories.
particle yeah, i'd like to take the crud-ignoring parts of ack and have a utility for dirs 20:55
PerlJam particle: time for you to create App:Dack or something
Coke particle: DIR /B /S /A:D | find /V ".svn"
(tried here with a local CVS repo and "CVS" instead of ".svn", works great. 20:56
PerlJam Coke++ that's some serious windows command line fu
Andy And in Windows no less
Coke actually got paid to do that sort of thing once. 20:57
for a week or so.
"you don't have perl. GO!"
particle yeah, i hate windows find
PerlJam I'm too lazy to learn all of that dreck so I just use cygwin or some other thing to make windows look like unix if I have to use windows
particle here, it's the same name as the unix util, but works totally different. have fun.
Coke on windows, it's more like grep. 20:58
particle: that work with the svn?
particle it would, except here 'find' is the unix command 21:02
so, find | grep works
but yep, your solution will work on my other win box, thx!
Coke You can probably force the issue with FIND.EXE
jhorwitz particle: check out this bare bones ModPerl6::Registry. it works!
Coke or .bat or something.
nopaste "jhorwitz" at 68.163.18.104 pasted "particle: ModPerl6::Registry" (13 lines) at nopaste.snit.ch/12319 21:03
Coke but as long as it works. =-)
particle whee! jhorwitz++ 21:04
jhorwitz just in time for frozen perl... 21:06
Coke -> afk 22:06
22:27 parrot-poke_ joined 22:31 jonathan_ joined 22:35 PerlPilot joined 22:36 pmichaud_ joined 22:37 Piper joined
Piper Hi there. I am Piper. I am now publicly logging this channel. If you don't want to be logged, please leave now. 22:37
confound hi piper
22:39 Theory joined 22:40 leo_ joined
diakopter purl: Piper? 22:43
purl diakopter: i haven't a clue
22:46 mj41_ joined 22:55 workbench joined 23:01 apple-gunkies_ joined, davidfetter joined 23:02 sjansen joined, skids joined, peeps[work] joined
jonathan Lot of disconnects today... :-S 23:12
23:13 slightlyoff joined 23:23 mdiep_ joined, mdiep joined
svnbotl r25700 | jonathan++ | trunk: 23:31
: [rakudo] Remove now-unused regex.pir.
diff: parrotvm.org/svn/parrot/revision/?rev=25700
23:31 kid51 joined
kid51 cannot reach svn.perl.org. Anyone know anything about that? 23:38
jonathan kid51: I checked something in less than 10 mins ago and it worked fine... :-S 23:42
23:43 Andy joined
kid51 jonathan: Am getting nothing from 'svn up' 23:45
cotto to 23:46
jonathan kid51: Oddness. It works here. 23:47