|
Parrot 2.1.0 "As Scheduled" Released! | parrot.org/ | Tasks: PCC deprecations branch, HLL subclassing and MMD branch Set by moderator on 17 February 2010. |
|||
| dalek | gest-dynpmcs: 003830a | darbelo++ | LICENSE: Add a LICENSE file. |
00:01 | |
| darbelo | Looks like it works. Infinoid++ | ||
| Infinoid | All I did was tail a logfile. :) dalek++ | 00:02 | |
| dalek | kudo/master: e7a395b | jonathan++ | t/spectest.data: Add S06-signature/tree-node-parameters.t to spectest.data. |
||
| kudo/master: 5d43a30 | jonathan++ | docs/ROADMAP: Move unpacking arguments to completed section of ROADMAP. |
|||
| Andy | Anyone able to point me at "Here's how to make a source tarball for a C lib?" (entirley unlreated to Parrot) | 00:04 | |
| darbelo | man tar? | ||
| purl | it has been said that man tar is www.bsdi.com/bsdi-man/?tar(1) or www.mail-archive.com/forum@mikrodat...09347.html or www.mail-archive.com/forum@mikrodat...09464.html | ||
| dalek | rrot-plumage: db5dfd6 | darbelo++ | metadata/digest-dynpmcs.json: Add plumage metadata for the digest-dynpmcs module. |
||
| Andy | No, no, I mean what I need to have as far as autoconf and whatnot. | ||
| tar I know. | 00:05 | ||
|
00:05
Andy left,
Andy joined,
Andy left
00:06
Andy joined
|
|||
| Andy | ooops | 00:06 | |
| darbelo | Usualy you should tar up you project dir, maybe includeing some generated files. | ||
| Andy | Yes, and those generated files are the issue. | ||
| Infinoid | I think it's up to you to decide whether to use autoconf, or cmake, or whatever | 00:08 | |
| If you're looking for an autoconf library howto, there's www.openismus.com/documents/linux/b...ries.shtml I suppose | |||
| though it may be acceptable to just ship it with a plain old Makefile, depending on your target audience :) | 00:09 | ||
| Andy | I don't want the plain old Makefile. | 00:10 | |
| chromatic | If you're looking for an autoconf library howto, may I save us all the screaming and suggest you mix all of your household cleaning products in your bathtub and then go for a swim. It's quicker and less painful. | ||
| Infinoid | chromatic++ | ||
| Andy | chromatic: I'm aware of that, but I feel it's necessary. | ||
| chromatic | I said the same thing about setting up health insurance for my business and I'd still rather do that than autoconf. | 00:11 | |
| If you can get away with cmake, you're probably better off. | |||
| Andy | cmake? | ||
| purl | cmake is a nice alternative to autoconf | ||
| chromatic | www.lazycodemonkey.com/?p=46=1 | 00:12 | |
| darbelo | It's way less painful that autofools. | ||
| Andy | I want people to be able to unzip the tarball, run ./configure, and then run make | ||
| That's all i want. | |||
|
00:17
fperrad_ joined
|
|||
| Andy | Am I right in my understanding that autoconf is what I run to create ./configure before tarballing it all up? | 00:17 | |
| darbelo | Yes. | 00:18 | |
|
00:18
tetragon joined
|
|||
| Coke | Whiteknight: the ticket you closed is in deprecated.pod | 00:19 | |
| opbots:names | 00:21 | ||
|
00:24
ZeroForce joined
|
|||
| mj41 | Good night from Czech republic. | 00:26 | |
| Coke | dober den. | 00:27 | |
| (me wonders if that's even close in czech. prolly not. =-) | |||
| mj41 | btw there is #taptinder \t irc://irc.freenode.org/taptinder and some new docs dev.taptinder.org/wiki/Special:RecentChanges | ||
| Coke | dobrou noc. | ||
| mj41 | Coke: yes ... dobry den a dobrou noc | 00:28 | |
| Coke | oh, crap, it's leka nosht in bulgarian. is dobry den "good day" ? | ||
| "beunos suenos." =-) | |||
| mj41 | dobry den = good day in raw translation, we have also dobre rano ... good morning | 00:29 | |
| chromatic | What does "ruh roh" mean? | 00:30 | |
| Coke | translate "uh oh" into scooby. | ||
| purl | babelfish cannot translate from en to en. Try translating through English. | ||
| Coke | huh. that is suprisingly close to the bulgarian. | ||
| chromatic | Now you're spending the next ten minutes humming THAT theme song. | ||
| Coke | nifty. | ||
| no, I'm picturing SMG in the LA version. | |||
| mj41 | Ale ted uz opravdu dobrou noc. Uvidime se zase zitra. | 00:31 | |
| Coke | ~ | ||
|
00:42
kthakore joined
|
|||
| kthakore | chromatic: thanks :) | 00:42 | |
| chromatic | You're welcome. | ||
| kthakore | chromatic: I recently put together a nice (hopefully easy to read) 400 line game. gist.github.com/301949 I think it will achieve what you are describing in your blog. Please feel free to post it there | 00:44 | |
| chromatic: thank you again | |||
| it was very nice | |||
|
01:01
abqar joined
01:02
szabgab joined
|
|||
| bacek_at_work | chromatic, look search.cpan.org/perldoc?everywhere | 01:04 | |
| nice addition to set of modern perl recommended modules :) | 01:05 | ||
| chromatic | It's a bit fragile though; I've run into similar problems with Devel::TraceUse. | ||
|
01:08
fperrad_ joined
|
|||
| Whiteknight | there should be a way to turn on warnings and error checking from the commandline | 01:10 | |
| and a PARROTWARNINGS global var would be nice too | 01:11 | ||
|
01:13
hudnix joined
|
|||
| Coke | Whiteknight: ... like -w ? | 01:15 | |
| Whiteknight | -w doesnt turn on error checking | 01:16 | |
| a -e would be a nice compliment | 01:18 | ||
| dalek | nie: r103 | allisonrandal++ | trunk/ (2 files): Fix the dictionary builder. Simple named parameters only work with up the dictionary key/value pairs. |
01:54 | |
| Whiteknight | how do constants work in PIR again? using the :immediate or :compreg flags? | 02:04 | |
| chromatic | :immediate | 02:07 | |
| purl | hmmm... :immediate is a very tricky beast | ||
| Whiteknight | chromatic: right, but how does that make a constant value? | ||
| I can't seem to find any examples of it's use | |||
| chromatic | Whatever it returns gets stored in the PBC. | 02:08 | |
| Whiteknight | ah, nevermind. I found an example in t/pmc/sub.t | ||
| I'm thinking this kind of mechanism might help with some of our exception handler issues | 02:09 | ||
| we can set them up as compile-time constants | 02:10 | ||
| chromatic | ... unless the return pc is part of the EH, in which case a static EH isn't great. | 02:11 | |
| Whiteknight | ...actually, constants built in that way aren't stored in the constants table like I was hoping | 02:14 | |
| looking at the pbc dump, I'm not sure it does anything worthwhile at all | 02:16 | ||
| My conviction that we need a good way to include PMC aggregate constants in PIR code is growing | 02:18 | ||
| because we can include arbitrary constant types in the PBC, so it seems reasonable we should have a good way to specify them from PIR (and therefore, from all compilers that target PIR) | 02:19 | ||
| chromatic | Yeah, the syntax is a tough part. | 02:21 | |
| I suppose we could mandate :immediate to do it. | 02:22 | ||
| That's not hugely awful. | |||
| It's not NOT awful though. | |||
| Whiteknight | I've been thinking a syntax like ResizablePMCArray:{1=>"foo", 2=>3.14, 3=>7} | 02:30 | |
| the => would provide keyed access | 02:31 | ||
| or Integer:{7} | |||
| or Hash:{"foo"=>3, "bar"=>"f"} | |||
| but then I think about things like classes, where I would love to be able to specify Class PMCs at compile time. But that would require a syntax for addattribute calls | 02:33 | ||
| so maybe to be completely flexible we need a special :pmcconstant flag for Subs. That would tell the compiler to run the sub at compile time and store the output into the constants table | 02:34 | ||
| accessing that value at runtime, however, raises another problem | 02:35 | ||
|
02:36
fperrad_ joined
|
|||
| dalek | kudo/master: 351d3d8 | pmichaud++ | docs/spectest-progress.csv: spectest-progress.csv update: 172 files, 4816 (29.1% of 16525) pass, 1 fail S29-conversions/ord_and_chr.rakudo aborted 1 test(s) |
02:55 | |
|
03:04
kid51 joined
|
|||
| dalek | rrot: r44128 | NotFound++ | trunk (4 files): some fixes to SDL lib and examples |
03:13 | |
| kthakore | YAY!!! | 03:14 | |
| SDL fixes | 03:15 | ||
| oh | |||
| kid51 | The branches listed in the system message don't match those in the repository (at least not exactly) | ||
| Is pcc_reorder_results/ same thing as PCC deprecations? | |||
| Don't see any branch named MMD or HLL | 03:16 | ||
| nopaste | "kid51" at 71.246.117.216 pasted "Current branches in svn.parrot.org/parrot/branches/" (19 lines) at nopaste.snit.ch/19672 | 03:17 | |
| chromatic | yes | 03:19 | |
| kid51 | That's 'yes' re pcc_reorder, correct? | 03:22 | |
| dalek | kudo/master: 1a05eae | pmichaud++ | docs/announce/2010.02: Add draft 2010.02 release announcement. |
03:35 | |
| kudo/master: 9be7890 | pmichaud++ | docs/release_guide.pod: Update release guide to note that we now use dots instead of hyphens |
|||
| kid51 wonders if there is a particular TT associated with svn.parrot.org/parrot/branches/pcc...r_results/ | 03:36 | ||
| rm_cflags branch: successful smolder on linux/i386 at r44128: smolder.plusthree.com/app/public_pr...ails/32251 | 03:42 | ||
|
03:43
bubaflub joined
|
|||
| dalek | rrot: r44129 | jkeenan++ | branches/rm_cflags/t/steps/auto/warnings-01.t: Coke has pruned auto::warnings internal subroutines, so we no longer have to test for them. Eliminate superseded tests. |
03:46 | |
|
03:51
woosley joined
03:57
danlarkin joined
|
|||
| Austin_away | dukeleto: ping | 04:04 | |
| Austin | Well, that's an inauspicious start for plumage: Could not find non-existent sub load_bytecode | 04:05 | |
| Austin thinks he'll stay with 'perl ./Configure.pl' for a while... | |||
| purl, msg Coke If you're still looking at plugins for track, I'd like to see the mscgen plugin get added. (trac-hacks.org/wiki/MscgenPlugin) | 04:10 | ||
| purl | Message for coke stored. | ||
| myhrlin | /quit | 04:22 | |
|
04:25
myhrlin joined
|
|||
| dalek | kudo/master: b4824f3 | (Solomon Foster)++ | t/spectest.data: Turn on trig tests. |
04:33 | |
|
04:35
eyeisel joined
04:38
janus joined
|
|||
| Austin | Isn't the $_PARROT/VERSION file supposed to say 2.1.0? | 04:47 | |
| It does. So why is mine stuck at .0 | 04:48 | ||
| Ahh, because I'm already pointing at branches/2.0 | 04:49 | ||
| davidfetter | that might account for it | 04:52 | |
| davidfetter pulled a similar move yesterday with postgresql :P | |||
| Austin | :-P | ||
| Now I'm pointing at branches/2.1, and things are better. :-> | |||
|
05:53
ZeroForce joined
|
|||
| dukeleto | 'ello | 06:01 | |
| dukeleto just got back from a talk about OpenEmbedded and learned lots of useful stuff | 06:02 | ||
|
06:09
Austin joined
|
|||
| Austin | Coke: Did any of your config changes make it into trunk yet? | 06:10 | |
| (Or is my build breaking for a different reason...) | |||
| dukeleto | Austin: pong | 06:12 | |
| Austin: full output of what the error is would be helpful | |||
| Austin | Hey, duke. I was going to ask you about setup.pir, but I wound up finding distutils, etc. | 06:13 | |
| The error is "Out of memory!" | |||
| on just about anything to do with pmc2c.pl | |||
| dukeleto | Austin: Don't Ire The OOM Killer | 06:18 | |
| Austin: do you have setup.pir working for you? | |||
| Austin | Duke: No. I got sidetracked writing testcases for whiteknight, and now trying to get trunk to build. :( | 06:19 | |
| dukeleto is reading the source of parrot_debugger again. IMCC makes it dirty. | |||
| is trunk broke? | |||
| Austin | See above. | ||
| dukeleto | i am testing on my machine now | 06:20 | |
| Austin | It built for me a couple of hours ago. | ||
| But that was then, as they say... | |||
| dukeleto | Austin: no out of memory errors here, pmcs were created normally | 06:22 | |
| Austin: what OS+platform? svn or git? which rev? | 06:23 | ||
| Austin | andLinux, svn, trunk:HEAD | 06:24 | |
| dukeleto | Austin: HEAD ain't a rev ;) | ||
| Austin: r44129 ? | |||
| Austin | Yep. Trying again. | 06:25 | |
| Anyway, what were you saying about plumage? | 06:27 | ||
| Is there a "metadata rev"? | |||
| dukeleto | Austin: what do you mean? | 06:30 | |
| Austin: i can help you make a metadata file, if you need. it is quite easy, once you know how it works | 06:31 | ||
| Austin | Trying to understand how out-of-data my metadata file may be. | ||
| Is the tapir file up-to-date? | |||
| dukeleto | Austin: the tapir file of what? distutils? | ||
| Austin | The tapir metadata file for plumage | ||
| dukeleto | Austin: the latest distutils lives in parrot core | 06:32 | |
| Austin | gitorious.org/parrot-plumage/parrot...tapir.json | ||
| dukeleto | Austin: yes | ||
| Austin | Okay. Aside from not using distutils, my metadata seems to be in good shape. | 06:33 | |
| dukeleto | Austin: you can generate a skeleton of that file with "parrot setup.pir plumage" | ||
| plumage metadata and setup.pir are independent, so that is fine | |||
| but it is nice that you define things in setup.pir and then the previous command with generate a metadata file | 06:34 | ||
| Austin | Stupid svn! | ||
| I hate automatic merges. | 06:35 | ||
| dukeleto | Austin: you can go ahead and say that 50 more times | ||
| Austin | I hate automatic merges. | ||
| INIT { pir::load_bytecode('library/kakapo_base.pir'); } my $message := "I hate automatic merges.\\n"; say($message.repeat(50)); | 06:36 | ||
| Okay, my out of memory problem is gone. | |||
| (I wonder what that was about...) | |||
|
06:37
fperrad_ joined
|
|||
| Austin | What's the difference between the metadata fields "browser_uri" and "project_uri" ? | 06:37 | |
| dukeleto | Austin: don't know. japhb is the person to ask | 06:42 | |
| jhelwig | dukeleto: parrot_debugger can't be any worse than the P5 debugger... | 06:57 | |
| dukeleto | jhelwig: you are right :) | 06:58 | |
| davidfetter is more on the printf side of debugging | 07:01 | ||
| dukeleto | davidfetter: good place to be :) | 07:12 | |
|
07:13
uniejo joined
|
|||
| Austin | okay, whiteknight goes on the back burner for tomorrow. | 07:30 | |
| fperrad: ping | 07:32 | ||
| dukeleto loves 8 core boxen | 07:44 | ||
| Austin | purl, msg fperrad Would you consider changing/extending the 'pir_nqp-rx' key in distutils.pir to use either nqprx or nqp_rx? This would enable :key(value) syntax in nqp. | 07:49 | |
| purl | Message for fperrad stored. | ||
|
07:51
iblechbot joined
07:52
darbelo joined
|
|||
| Austin | Stupid git! | 07:59 | |
| git-- | |||
| Thanks for renaming my files for me. I love it when my vc tool breaks my build. | 08:00 | ||
|
08:12
fperrad_ joined
08:14
particle joined
|
|||
| dalek | kapo: cf4cc52 | austin++ | (5 files): Moved src/Pmc/COMMON.nqp to common_methods.nqp so that git would quit breaking my build. Signed-off-by: Austin Hastings <Austin_Hastings@Yahoo.com> |
08:16 | |
| Austin sings, "...she pulled me on the dance floor. We danced a song or two. It was then I realized that I .. bit off more than I could chew!" | 08:42 | ||
| dalek | TT #1463 created by dukeleto++: PERLDOC environment variable is abused | 08:46 | |
| rrot: r44130 | dukeleto++ | trunk/config (2 files): [build][TT#1463] Don't use the environment variable PERLDOC, since it is used by perldoc |
08:58 | ||
| TT #1463 closed by dukeleto++: PERLDOC environment variable is abused | 09:02 | ||
|
09:07
bacek joined,
lucian joined
09:10
ruoso joined
|
|||
| Austin | msg pmichaud In the parrot-2.1 version of parrot-nqp, the construct < word word > is very different from < word >. (The latter appears to strip the array.) Is this on purpose? | 09:12 | |
| purl | Message for pmichaud stored. | ||
| moritz | that's Perl 6 spec | 09:14 | |
| Austin | Moritz: Really? | 09:15 | |
| moritz | Austin: really. | ||
| Austin | At first blush, that seems very unexpected. | ||
| moritz | it was unexpected for me too | 09:16 | |
| Austin | I was managing a list of files: blahblahblah := < \\n file \\n file2 \\n > | ||
| Suddenly, when there was only one file, everything changed. | |||
| moritz | and it's one of those points where I'm still not sure if it's a good idea | ||
| Austin | What's the point of it? | ||
| purl | it has been said that the point of it is you get the news tailored to you. i like this idea. it's what i've been waiting for. | ||
| moritz | well, in real Perl 6 you'd assign to an array, which would make things more managable | 09:17 | |
| Austin | ? | ||
| moritz | (and not bind) | ||
| my @a = <foo>; # works | |||
| TimToady | point is that <a> and <a b> are equivalent to ('a') and ('a','b') | ||
| moritz | my @a := <foo>; # boom | ||
| Austin | Yeah, but < \\n a \\n >; isn't. | ||
| TimToady | that should be ('\\n', 'a', '\\n') | 09:18 | |
| moritz | depends on whether Austin means literal \\n or a newline | ||
| Austin | I mean newline | ||
| TimToady | that's just whitespace then | ||
| Austin | Yeah, and the whitespace is getting bundled along with the filename. | 09:19 | |
| *AND* the array is getting stripped off. | |||
| It's twice as irksome! | |||
| yay | |||
| TimToady | you expect the whitespace as part of the filename? | ||
| moritz | wait, the string ends up containing a newline? | ||
| Austin | Hell, no. | 09:20 | |
| I expected it to gobble up the whitespace, split the non-ws bits into an array, and give me the array. | |||
| Instead, I wound up with "\\n\\t\\tsrc/Internals/kakapo_top.pir\\n\\t" | |||
| moritz | the \\n\\t should not be part of the string | 09:21 | |
| that's a bug in nqp | |||
| IMHO | |||
|
09:21
AndyA_ joined
|
|||
| TimToady | well, then don't use := where you should use = | 09:22 | |
| Austin | purl, msg pmichaud Per moritz & timtoady, removing the array is perl6, so nevermind. But < foo > doesn't seem to strip whitespace, which moritz opines is wrong. | ||
| purl | Message for pmichaud stored. | ||
| Austin | TimToady++ | ||
| Thanks for the tip. | |||
| moritz | just nqp doesn't implement = | ||
|
09:22
AndyA_ joined
|
|||
| moritz | iirc | 09:23 | |
| TimToady | zzz & | ||
| Austin | Sadly, trying that: Assignment ("=") not supported in NQP, use ":=" instead at line 7, near " < alfalfa" | ||
| just doesn't work | |||
| TimToady | <foo> is tuned for a language in which a single item can usually be used as a degenerate list, but := isn't one of those places | 09:24 | |
| but it also gives us literal subscripts like %foo<bar> | |||
| but I'm up way too late | 09:25 | ||
| zzz & # really | |||
|
09:28
bacek joined
|
|||
| Austin | purl, msg fperrad I'm trying to use distutils.pir, and I need to inject a sub-step between pir_nqp-rx and pbc_pir. There doesn't seem to be a public interface for injecting other than before/after the entire step. Do you plan to support this? | 09:31 | |
| purl | Message for fperrad stored. | ||
| fperrad | ping Austin | 09:36 | |
| Austin | Hello, francois! | ||
| bacek | It's "Ƨ" afair :) | 09:39 | |
| Austin | Oh, sure. | ||
| And me on a US keyboard. | |||
| With no opposable thumbs... | |||
| fperrad: I'm trying to use distutils.pir from NQP, and so far it's very nice. I've got a few rough spots, two of which are in your message inbox. | 09:41 | ||
| And another nqp bug | 09:45 | ||
| fperrad | Austin, (msg2) what is the goal of your sub-step ? | 09:46 | |
| Austin | I'm merging pir files that were generated in the nqp_pir before compiling them in pbc_pir | 09:47 | |
| *nqp_pir = pir_nqp | 09:48 | ||
| fperrad | Austin, you could write (or generate) a small PIR file which includes all generated PIR files | 09:54 | |
| Austin | fperrad: Also, I could (and have) written a little insert-after-sub routine. | 09:55 | |
| I was thinking something like that would be useful in the API | 09:56 | ||
|
09:57
fperrad_ joined
|
|||
| dalek | TT #1464 created by Austin_Hastings++: NQP-rx doesn't handle bare "return" from nested block correctly. | 10:08 | |
| fperrad | Austin, I prefer to add a sub-step pir_pir (which concatenes PIR files) before pbc_pir in distutils.pir. | 10:12 | |
| I think this sub-step will be useful to other people. | |||
| Austin | Okay. | ||
| fperrad | Austin, I don't understand your msg1 | 10:21 | |
| I know : | |||
| nqp (in compilers/nqp) | |||
| nqp-rx (in ext/nqp-rx) | |||
| now, nqp-rx has 2 flavors ? | |||
| Austin | No. But nqp-rx offers :key(value) syntax for hash elements. Nopaste coming | 10:22 | |
| nopaste | "Austin" at 68.37.46.53 pasted ":key(value) with distutils.pir" (15 lines) at nopaste.snit.ch/19679 | ||
| Austin | Sadly, :nqp-rx() is not a valid pair. | 10:23 | |
| So i was asking if you could add or change a hash key | |||
| fperrad | Austin, you want write a setup.nqp instead of a setup.pir | 10:29 | |
| Austin | I'm about halfway done right now. | 10:30 | |
| :) | |||
|
10:32
fperrad_ joined
|
|||
| fperrad | Austin, could you nopaste your full setup.nqp file | 10:40 | |
| Austin | Sure. Give me a second to stabilize it. | 10:41 | |
|
10:42
fperrad_ joined
|
|||
| nopaste | "Austin" at 68.37.46.53 pasted "Snapshot of Kakapo setup.nqp" (178 lines) at nopaste.snit.ch/19680 | 10:45 | |
|
10:46
fperrad__ joined
|
|||
| nopaste | "fperrad" at 79.81.91.104 pasted "[distutils (Austin)] Create an alias of pir_nqp-rx key (nqp doesn't like hyphen)" (64 lines) at nopaste.snit.ch/19681 | 11:20 | |
| "Austin" at 68.37.46.53 pasted "Current setup.nqp for Kakapo" (187 lines) at nopaste.snit.ch/19682 | 11:22 | ||
| Austin | fperrad++ | ||
| Got build, clean to work. | |||
| Now for testing. | |||
|
11:25
pmichaud joined
|
|||
| dalek | kudo/master: 303323e | pmichaud++ | docs/spectest-progress.csv: spectest-progress.csv update: 194 files, 24167 (67.6% of 35727) pass, 0 fail |
11:28 | |
| Austin | Ahh, the wiley and elusive 'harness_files' setting. Tests okay! | 11:36 | |
|
11:52
payload joined
|
|||
| dalek | kudo/master: fa44b5a | pmichaud++ | src/builtins/Mu.pir: Update .REJECTS to avoid logical_not vtable. |
12:19 | |
| mj41 | is there anybody with rights to update www.parrot.org/content/parrot-testi...atus-tools ? See www.parrot.org/tags/parrot-test-tes...tool-tools | 12:31 | |
| nopaste | "kthakore" at 99.234.159.149 pasted "I can't seem to build parrot svn trunk" (36 lines) at nopaste.snit.ch/19683 | 12:35 | |
| kthakore | Austin: any clues ^^ | ||
|
12:36
barney joined
12:37
ruoso joined
|
|||
| Austin | kthakore: it's a surprise to me. | 12:37 | |
| kthakore | crap | ||
| hi ruoso | |||
| Austin | There were some stability issues in 2.0, but I thought whiteknight got those hammered out in the last week or so. | ||
| kthakore | let me try again | 12:38 | |
| Austin | Have you built the 2.1 tag? | ||
| kthakore | no | ||
| trucnk | |||
| trunk | |||
| Austin | Well, try again, but if trunk fails again, try building $PARROT/tags/RELEASE_2_1_0 | ||
| kthakore | ok | 12:39 | |
| will do | |||
| thanks | |||
| Austin | np | ||
|
12:45
alin joined
13:03
bluescreen joined
13:07
bluescreen joined
13:15
iblechbot joined
13:33
lucian joined
13:42
whiteknight joined
|
|||
| whiteknight | good morning #parrot | 13:44 | |
| Austin | Good morning, WhiteKnight. | ||
| dalek | kapo: b603e4c | austin++ | (16 files): Removed Makefile, etc., replaced with setup.nqp. |
||
| whiteknight | hello Austin, how are you today? | 13:45 | |
| Austin ++ | |||
| whiteknight | that good, huh? | ||
| Austin | Now at release 4. | ||
| kapo: 9d13d00 | austin++ | : review: gitorious.org/kakapo/kakapo/commit/...b51585ffa0 |
|||
| kapo: 6e824d6 | austin++ | : review: gitorious.org/kakapo/kakapo/commit/...9f93df29b2 |
|||
| Austin | With setup.nqp / distutils based configuration. | ||
| whiteknight | nice | ||
| shockwave | I'm just loggin on too. Good morning #parrot | ||
| Austin | I tried to write some test code for you, Whiteknight, but something got in the way. | ||
| I've got some code, but it doesn't run. But the failure didn't seem related to you. | 13:46 | ||
| This is for the namespace keyed stuff | |||
| whiteknight | don't worry about it. I added a few stubby tests of my own and merged the branch to trunk | ||
| we can add more tests at any time | |||
| Austin | We could if they would run :-$ | ||
| whiteknight | nopaste me the tests? maybe I can take a look at them | 13:47 | |
| Austin | Aha! My problem was running the installed parrot, instead of ./parrot | 13:50 | |
| Coke | msg austin - many changes to config are in, but there's a whole rm_cflags.in branch that isn't in yet. | 13:51 | |
| purl | Message for austin stored. | ||
| Coke | kthakore: sounds like you might need a realclean. | 13:54 | |
| msg Austin I pinged the OSU admins for that trac module for you. | |||
| purl | Message for austin stored. | ||
| kthakore | Coke: thanks | 13:58 | |
|
14:01
japhmalik joined,
plobsing joined
|
|||
| nopaste | "Austin" at 68.37.46.53 pasted "Test cases for TT#1449" (975 lines) at nopaste.snit.ch/19684 | 14:08 | |
| Austin | Whiteknight: Some of these are surprising, some of them may be edge cases. | ||
| dalek | nie: r104 | allisonrandal++ | trunk/s (3 files): Fix dictionaries so they appear as the 'dict' type, and so they |
14:12 | |
| whiteknight | Austin: I'll look into them today | 14:13 | |
| nopaste | "Austin" at 68.37.46.53 pasted "Less bugs: Test cases for TT#1449" (975 lines) at nopaste.snit.ch/19685 | 14:14 | |
|
14:14
particle joined
|
|||
| Austin | Whiteknight: okay. | 14:14 | |
| dalek | nie: r105 | allisonrandal++ | trunk/Grammar/Grammar.pg: Allow parsing of lvalue dictionary keys. |
14:27 | |
|
14:28
cosimo joined
|
|||
| dalek | kudo/master: bf29be0 | (Solomon Foster)++ | src/core/ (5 files): Optimize Any!to-radians and Any!from-radians, switch default base to Radians (instead of 'radians'). |
14:40 | |
| kudo/master: 60c14fe | (Solomon Foster)++ | src/cheats/constants.pir: Add Radians, Degrees, Gradians, and Circles to emulate what TrigBase will look like when enums are available. |
|||
| rrot: r44131 | whiteknight++ | trunk (4 files): remove the PASM1 compreg |
14:41 | ||
| TT #872 closed by whiteknight++: Deprecate PASM1 compiler and PDB_compile function | 14:48 | ||
| Coke | that ticket is explicitly mentioned elsewhere in DEPRECATED.pod. | 14:52 | |
| er, whiteknight: | 14:53 | ||
| (also, I /just/ stole that ticket to work on. =-) | |||
|
14:55
particle joined
|
|||
| dalek | nie: r106 | allisonrandal++ | trunk/ (2 files): Add tests for dictionaries. |
15:01 | |
|
15:02
lucian joined
|
|||
| nopaste | "shockwave" at 76.119.137.239 pasted ".sub 'foo' :method $P0 = getat" (4 lines) at nopaste.snit.ch/19687 | 15:04 | |
| shockwave | I pasted a small sub here: nopaste.snit.ch/19687 | 15:05 | |
|
15:05
whiteknight joined
|
|||
| dalek | nie: r107 | allisonrandal++ | trunk/runtests.py: Disable test that doesn't actually run in Python3. |
15:06 | |
| shockwave | Assuming '%CreateInstance'() returns a new instance of an 'Array' object, the object that owns the attribute 'member' will be able to make use of that array without doing any other special thing, correct? | ||
| The code I posted compiles fine. | |||
| Austin_away | ERm, no. | 15:09 | |
| shockwave: The getattribute returned a pmc. You replaced that pmc in $P0 with a different PMC, I think, so the original object's original attribute is still there. | 15:10 | ||
| shockwave | oh, you're right. I have to use setattribute, right? | 15:11 | |
| It felt like something was missing. | 15:12 | ||
| Coke | shockwave: if things are working, the nopaste bot alerts us to your nopaste so you don't have to. | ||
| you probably don't even need the get if you're just overriding it. | |||
| s/probably// | |||
| shockwave | true | 15:13 | |
| nopaste | "Austin" at 68.37.46.53 pasted "attribute madness" (15 lines) at nopaste.snit.ch/19688 | ||
| Austin | you either have to store the new pmc using setattribute, or you have to use pmc assignment, like $P0 = call(); $P1 = $P0 | 15:14 | |
| Coke | Austin: ... what is the problem you're trying to point out in your nopaste? | 15:15 | |
| (and what are S0 and P2 for?) | |||
| Austin | Coke: Pointing out to shockwave that what he's trying don't wrok | ||
| *work | |||
| whiteknight | not wroking? That's unpossible! | 15:16 | |
| shockwave | I think I understand what I should be doing. Updating code right now. | ||
| Austin | Alright. I'm going to get outside some comestibles... | 15:20 | |
| Coke | cheesy? | 15:21 | |
| purl | i heard cheesy was good too. or news.bbc.co.uk/1/hi/england/leicest...761989.stm | ||
| shockwave | outside? What is that? | ||
| I'm surprised setattribute doesn't autobox it's third param, if it's not a PMC. It fails instead. | 15:25 | ||
| dalek | kudo/master: 43909a0 | jonathan++ | src/ (2 files): Fixes that get .^parent working. Also .WHAT always now gives back things wrapped in a scalar container. Why? So Iterable proto-objects don't go trying to flatten, and subsequently go KABOOM. |
15:27 | |
| kudo/master: fec6ec9 | jonathan++ | t/spectest.data: Turn S12-introspection/parents.t back on. |
|||
| rrot: r44132 | fperrad++ | trunk/runtime/parrot/library/distutils.pir: [distutils] create an alias of pir_nqp-rx key (nqp doesn't like hyphen) |
15:31 | ||
| whiteknight | shockwave: opcodes are never very smart. They are designed to be simple and limited | 15:35 | |
| shockwave | whiteknight, good enough explanation to me. | ||
| whiteknight | each opcode is very specific in it's arguments. So setattribute is actually "setattribute_p_s_p" | 15:37 | |
| we would need to write three new opcodes to pretend to do autoboxing | 15:38 | ||
| dalek | kudo/master: 181d5f9 | pmichaud++ | src/core/Any-num.pm: Refactor to-radians and from-radians to use a pre-initialized array. |
||
| kudo/master: dbaa79b | pmichaud++ | (3 files): Merge branch 'master' of git@github.com:rakudo/rakudo |
|||
| whiteknight | setattribute_p_s_i, setattribute_p_s_s, setattribute_p_s_n | ||
| whiteknight | to really get an understanding of how ops work, take a look at src/ops/set.ops sometime | 15:39 | |
|
15:39
theory joined
|
|||
| shockwave | cool | 15:39 | |
| nopaste | "pmichaud" at 66.25.4.52 pasted "This program (and many others) leaks memory without bound" (5 lines) at nopaste.snit.ch/19689 | 15:42 | |
| shockwave | whiteknight, what is that src/ops directory? | ||
| I'm looking at set.ops | |||
| whiteknight | those are the opcode bodies | 15:43 | |
| shockwave | It's a language that looks like C and PIR combined. | ||
| whiteknight | it's C, but it's preprocessed by a perl script ops2c.pl | ||
| that turns it into "real" C, which is compiled | |||
| shockwave | oh, I see. | ||
|
15:46
jsut_ joined
|
|||
| dalek | rrot: r44133 | whiteknight++ | trunk/DEPRECATED.pod: remove note about TT #159 from DEPRECATED.pod |
15:47 | |
| rrot: r44134 | whiteknight++ | branches/parrot_call_dep: creating a branch to remove Parrot_call_* functions as per TT #1145 |
|||
| Coke | whiteknight: if you're going to work on a ticket, taking ownership might be helpful. (not so much on an unowned ticket, but still) | 15:49 | |
| whiteknight | Coke: one step at a time | 15:50 | |
|
15:51
bubaflub joined
|
|||
| NotFound | shockwave: opcodes doesn't do autoboxing. Some have variants that deal with different types. | 15:52 | |
| Coke | whiteknight: re-opening 872, and assigning it to you. | 15:54 | |
| dalek | TT #872 reopened by coke++: PASM1 compiler and PDB_compile function | ||
|
15:54
Psyche^ joined
|
|||
| Coke | (there are 2 functions that also need to be ripped out as part of that ticket.) | 15:54 | |
| whiteknight | which two functions? | ||
| NotFound | In the setattribute case, adding variants that does autoboxing will be difficult to handle. What HLL maping use, the one for the chunk of code that uses setattribute, or the one where the class has been created? | 15:55 | |
| Coke | whiteknight: I added the note that was in DEP.pod to the ticket. | ||
| whiteknight | ok | ||
| NotFound | Or even harder, what if the attribute is defined in a parent class in a different HLL? | ||
| Coke | the part you pulled out referenced this snippet, which was the one that had the actual TT ref. | ||
| whiteknight | ok | 15:56 | |
| shockwave | NotFound, sounds difficult. I was able to handle the generated code. | ||
| Coke | looks like rip out one function, fix the other. | ||
| NotFound: I think the answer to that question in, the HLL mapping of the code /currently being executed/ | 15:57 | ||
| s/\\bin\\b/is/ | |||
| NotFound | Coke: yes, but I'm sure that will lead to lots of confusions. | 15:59 | |
| Coke | NotFound: no doubt. | 16:01 | |
| but I'm pretty sure that was the answer I got the last time we talked about HLL interop. | |||
| NotFound | Looks like no one has tried to implement that. There is some ticket? | 16:02 | |
| Coke | tene is/was the hll interop guy. I'd bug him. =) | 16:04 | |
|
16:05
kurahaupo joined
|
|||
| cotto_work | good morning | 16:06 | |
| purl | What's so good about it? | ||
| kurahaupo_mobi | Good morning | 16:07 | |
| purl | What's so good about it? | ||
| kthakore | Coke: that worked thanks | ||
| purl: your mom | |||
| purl | pemungkah's mother is a saint! or capable of multiplexed I/O. | ||
| kurahaupo_mobi | Purl: it's dark | ||
| purl | kurahaupo_mobi: i'm not following you... | ||
| cotto_work | it is very dark | 16:08 | |
| Strange. I'd expect the proper response for something like that. | 16:09 | ||
| Coke | grue? | ||
| purl | i guess grue is a nasty little creature in the old text adventures or "It is dark. i am likely to be eaten by a grue." or a word for both green and blue | ||
| cotto_work | yea | 16:10 | |
| yeah | |||
| Coke | I preferred HHGTTG and LGOP. | ||
| dalek | TT #1465 created by pmichaud++: Parrot GC leaks memory for basic programs | 16:11 | |
| cotto_work | lgop? | ||
| Memory leaks? That's unpossible. | |||
| pmichaud | cotto_work: several of us have been able to independently observe and confirm the existence of a leak :) | 16:12 | |
| nopaste | "NotFound" at 213.96.228.50 pasted "Quick winxed test for oplib and opcode PMCs" (9 lines) at nopaste.snit.ch/19690 | ||
| NotFound | Looks like we have 1302 opcodes in core. | 16:15 | |
| whiteknight | yeah, it's a ton | 16:16 | |
| Awesome test program. I';m glad it works | 16:17 | ||
|
16:18
iblechbot joined
|
|||
| NotFound | I hope to be able to write a disassembler soon. | 16:19 | |
|
16:23
nbrown_ joined
|
|||
| mj41 | I have old one trac.parrot.org/parrot/ticket/706 but not sure if it is "real" leak. | 16:31 | |
|
16:31
whiteknight joined
|
|||
| NotFound | mj41: I think these aren't fixable until we reach the point where we can do all packfile usages via the packfile PMCs. | 16:35 | |
| dalek | kudo/master: cb56224 | jonathan++ | docs/announce/2010.02: Tweaks to release announcement. |
16:36 | |
| rrot: r44135 | fperrad++ | trunk/runtime/parrot/library/distutils.pir: [distutils] add option pir_pir which allows to concat files |
16:37 | ||
| cotto_work | I found what looks like the source of the leak, but I'm not sure how to interpret it. | 16:40 | |
| nopaste | "cotto_work" at 131.107.0.105 pasted "the apparent source of the leak in TT #1465" (7 lines) at nopaste.snit.ch/19692 | ||
| Coke | cotto_work: ... I read that as "the memory leak occurs where we allocate memory." | 16:42 | |
| pmichaud | cla? | 16:43 | |
| purl | cla is Contributor License Agreement or www.perlfoundation.org/contributor_..._agreement or www.parrot.org/foundation/legal or www.parrot.org/files/parrot_cla.pdf | ||
| cotto_work | Valgrind isn't smart enough to figure out when we need to free it. | ||
| NotFound | Looks innocent to me. We just don't fully deallocate some interpreter data at exit. | 16:44 | |
| cotto_work | That's the larger of two chunks that grow when the program is allowed to run for a longer time. | ||
| fperrad | msg Austin pir_pir in distutils (see r44135) | 16:46 | |
| purl | Message for austin stored. | ||
| dalek | rrot: r44136 | whiteknight++ | branches/parrot_call_dep (8 files): remove all instances of Parrot_call_* from the repo and replace with Parrot_ext_call where appropriate. Documentation is lacking a replacement |
16:53 | |
| kudo/master: 84d6b02 | masak++ | src/Perl6/Grammar.pm: [Grammar.pm] slight wording fix |
|||
| rrot: r44137 | whiteknight++ | trunk (2 files): re-remove note about TT #872 from DEPRECATED.pod. The items that need to be removed as part of the deprecation are already removed. The PDB_eval function is not slated for removal. The ticket only mentions that PDB_eval previously relied on the PASM1 compiler and needs to be reimplemented. Will open a separate ticket for that |
17:10 | ||
|
17:11
bacek joined
|
|||
| dalek | TT #1466 created by whiteknight++: Debugger "eval" instruction needs to be implemented | 17:17 | |
| TT #872 closed by whiteknight++: PASM1 compiler and PDB_compile function | |||
| kthakore | ~[6~[6~[6~[6~[6~[6~[6~[6~[6~[6~[6~[6~[6~[6~[6~[6~[6~[6~[6~[6~[6~[6~[6~/win c | 17:20 | |
|
17:20
kthakore left
17:21
payload joined
|
|||
| dalek | rrot: r44138 | NotFound++ | trunk/src/pmc/opcode.pmc: method op_count in Opcode PMC |
17:26 | |
| whiteknight | NotFound: what does that value contain? | 17:38 | |
| NotFound | whiteknight: lenght of opcode + args | ||
| whiteknight | okay, that seems poorly named | 17:39 | |
| command_length seems more accurate | 17:40 | ||
| NotFound | whiteknight: just used the same name as the op info struct | ||
| whiteknight | yeah, i know. I'm thinking we should pick a better name | ||
| NotFound | Agree, but better to also rename the struct member to agree. | ||
| whiteknight | +1 | ||
| purl | 1 | ||
| whiteknight | next up, I think we need a method to get an array of flags | 17:41 | |
| for the args | |||
| and once we have that, we can add a method to "Compile" the op, given a :slurpy list of args | |||
| shockwave | Is cotto_work working for Microsoft? | ||
| whiteknight | shockwave: so far as I am aware | 17:42 | |
| NotFound | whiteknight: yes, I added that without much thinking just to be able to write a proof of concept disasm. The PMC is declared experimental, isn'it? | ||
|
17:42
kurahaupo joined
|
|||
| shockwave | whiteknight, interesting. | 17:42 | |
| whiteknight | NotFound: yes, extremely experimental | ||
| NotFound: but definitely has potential use | |||
| NotFound | Good, let's play with it | ||
| whiteknight | NotFound: be my guest! Doing asm/disasm are definitely things I want to do with this | 17:43 | |
| NotFound | whiteknight: yes, but we need freedom right now. | ||
| whiteknight | freedom from what? | ||
| NotFound | To experiment. | ||
| From policy. | |||
| whiteknight | you have freedom. I only suggested a better name for the method | 17:44 | |
| NotFound | Yeah, I just wanted to confirm that is clearly declared experimental :) | ||
|
17:45
cotto_work joined
|
|||
| whiteknight | I think $P0 = opcode.GetFlags() should return an FIA with the arg flags for the op | 17:46 | |
| from that we can get the count of args (length of the array), and info about each arg | 17:47 | ||
|
17:47
cotto_work joined
|
|||
| whiteknight | and once we have that info available, there is nothing standing in the way of a full compiler | 17:47 | |
| NotFound | whiteknight: I'm splicing the op name for a now. | 17:48 | |
| cotto_work | shockwave, yup. | 17:49 | |
| NotFound | Uh, some opcodes don't follow the rule. | ||
| whiteknight | what rule? | 17:50 | |
| purl | rule is no public away messages. or USUALLY: people are stupid | ||
| NotFound | The args suffixes | ||
| whiteknight | what do you mean? | ||
| NotFound | get_params_pc takes two arguments, for example. | 17:51 | |
| shockwave | cotto_work, Just curious, do you work on the CLR or related team? | ||
| NotFound | And _pc according the rules is just one. | ||
| So the quick and dirty way I was using doesn't work. | 17:52 | ||
| We need that GetFlags method. | 17:53 | ||
| cotto_work | shockwave, nope. I'm in MS' Open Source Technology Center. | ||
| shockwave | cotto_work, so MS is basically donating your time? | ||
| cotto_work | Kinda. Most of my time is spent on MS-related stuff. I get to spend a some time on Parrot as long as I don't submit any code written at work. | 17:55 | |
| (or other OSS projects) | |||
| shockwave | cotto_work, that sounds pretty cool. | 17:56 | |
| NotFound | cotto_work: Are you going to install parrot in some windows phone? | 17:57 | |
| cotto_work: if not, tell MS that we have it working on Maemo :P | 17:59 | ||
| dalek | rrot: r44139 | plobsing++ | trunk/src (2 files): headerier + ASSERT_ARGS() to satisfy codetest |
||
| cotto_work | Heh. I haven't seen any sekrit phones. | ||
| whiteknight | NoFound: oh, right. those parameters are a huge pain in the ass | 18:12 | |
| we should have some kind of flag to mark ops that are variadic | |||
| dalek | nxed: r413 | julian.notfound++ | trunk/examples/packfile.winxed: start of a pbc disassembler, works only for simple code, requires parrot r44138 |
18:15 | |
| NotFound | whiteknight: this is what I have for a now | ||
|
18:16
darbelo joined
|
|||
| whiteknight | nice | 18:17 | |
| NotFound++ | |||
|
18:17
kthakore joined
|
|||
| NotFound | It shows that the packfile and op PMCs have a lot of potential. | 18:17 | |
| dalek | TT #1467 created by darbelo++: Deprecate the digest dynpmcs. | 18:23 | |
| kthakore | I am having trouble running parrot examples from the site | 18:24 | |
| cotto_work | kthakore, which examples | 18:26 | |
| dalek | kudo/master: 968011b | pmichaud++ | src/cheats/setup-io.pm: Default $*IN, $*OUT, $*ERR to utf8 encoding. |
||
| kthakore | cotto_work: the one to load random.pbc | 18:27 | |
| I can't seem to find the page | |||
| cotto_work | can you nopaste? | ||
| kthakore | sure | 18:28 | |
| what is the link again? | |||
| cotto_work | nopaste? | ||
| purl | nopaste is at nopaste.snit.ch/ (ask TonyC for new channels) or paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at www.extpaste.com/ or paste.scsys.co.uk (for #catalyst, #dbix-class, #moose and others) or gist.github.com/ or paste or gtfo or tools/dev/nopaste.pl or trac.parrot.org/parrot/browser/tru...nopaste.pl | ||
| nopaste | "kthakore" at 199.198.223.108 pasted "parrot example" (18 lines) at nopaste.snit.ch/19694 | 18:30 | |
| kthakore | cotto_work: that one | ||
| purl | that one is probably fairly new | ||
|
18:32
chromatic joined
|
|||
| nopaste | "kthakore" at 199.198.223.108 pasted "parrot example SDL" (34 lines) at nopaste.snit.ch/19695 | 18:32 | |
| kthakore | cotto_work: and that one | ||
| purl | i think that one is fairly new | ||
| kthakore | cotto_work: am I running them worn? | 18:33 | |
| hi chromatic | |||
| NotFound | kthakore: most SDL examples are broken, I fixed some of them yesterday | ||
| kthakore | NotFound: which ones work? | ||
| NotFound | Let me check... | ||
| plobsing | kthakore: the second one is broken because bytecode must be wrapped in a '.sub / .end' | 18:34 | |
| kthakore | plobsing: oh ok | ||
| the example didn't say that | |||
| NotFound | move_parrot_logo and bounce_parrot_logo, for example. | ||
| kthakore | ok | ||
| NotFound | Also, we'll probably change all that 'SDL::xxx' to ['SDL'; 'xxx'] | 18:35 | |
| kthakore | um ok | 18:36 | |
| how do I point the SDL of parrot to look for libSDL_image in sdl-config defined location | |||
| NotFound | So if you write some code that works now, expect to have to change it soon. | ||
| kthakore | NotFound: when will you be working on SDL parrot? | 18:37 | |
| hopefully I can help out | |||
| NotFound | kthakore: I'm hardly previsible ;) | ||
| kthakore | NotFound: oh ok | ||
| so for SDL parrot who do I talk to> | |||
| to? | |||
| purl | well, to is Tonga Islands | ||
| kthakore | purl: to is Toronto | 18:38 | |
| purl | ...but to is Tonga Islands... | ||
| kthakore | no | ||
| lies | |||
| NotFound | kthakore: looks like no one is committed to it, some of use make little fixes sometimes. | ||
| kthakore | NotFound: ok ... well I am commited to it but I am trying to get it to work first | 18:39 | |
| NotFound: how do I make modules and stuff? | |||
| I see SDL.pir which is the NCI I guess | 18:40 | ||
| but is everything hooked into it Image, Mixer so on? | |||
| or is it modular | |||
| also how do you guys handle callbacks and threaded callbacks? | |||
| plobsing | kthakore: not very well. see src/glut_callbacks.c | 18:41 | |
| it's the solution opengl uses ATM | |||
| NotFound | kthakore: I don't have a full view, just fixed things that where clearly wrong or outdated. | ||
| kthakore | oh ok | ||
| plobsing: oh ... | 18:42 | ||
| NotFound | I think the architect of the thing was chromatic, some time ago. | ||
| kthakore | chromatic: ping? | ||
| NotFound: plobsing: ok I am going to have to write a proposal for a saner architecture for SDL | 18:43 | ||
| kthakore goes to read docs | |||
| whiteknight | what is SDL? | ||
| purl | somebody said SDL was Simple Directmedia Layer aka DirectX for Unix except with 59% less evil. There's Perl bindings. Frozen Bubble is written using it. or or allows that nifty doom game to run on ayrnieu's *Zaurus* | ||
| whiteknight | ah, okay | 18:44 | |
| NotFound | kthakore: a good idea may be to start an independent project, make it plumage ready, and then drop the current implementation from core. | ||
| kthakore | right | ||
| how do I do that! | |||
| is there a Module maker or something? | |||
| and plumage? | 18:45 | ||
| purl | plumage is probably the future Parrot module ecosystem. It will include tools to search metadata, handle dependencies, install modules, and so forth. The repository is at gitorious.org/parrot-plumage/parrot-plumage and the design docs are at trac.parrot.org/parrot/wiki/ModuleEcosystem | ||
| NotFound | kthakore: trac.parrot.org/parrot/wiki/ModuleEcosystem | ||
| kthakore | NotFound: thank you! | ||
| kthakore huggles NotFound | |||
| darbelo | kthakore: If you use destutils.pir you'll be lumage-ready pretty much for free. | ||
| kthakore | darbelo: I am sorry not sure what that means? | 18:46 | |
| make a folder with SDL.pir and destutils.prir? | 18:47 | ||
| darbelo | parrot ships a pir library that handles building parrot-based projects. | ||
| kthakore | darbelo: how do I tell SDL.pir where the dlls are located and stuff like that? | ||
| darbelo | You'll have to write a setup.pir file to drive the build. | 18:48 | |
| whiteknight | NotFound: do you have a list of opcodes that take variadic arg lists? | ||
| kthakore | darbelo: are there any quickstarts for makign build able parrot modules? | 18:49 | |
| NotFound | whiteknight: no, I'm looking for a way to obtain that information, | ||
| whiteknight | set_args, get_params, set_returns get_results? | ||
| that seems like a decent list | |||
| chromatic | Are those variadic? | 18:50 | |
| darbelo | we have a mk_language_shell.pl script in tools/dev | ||
| NotFound | At least a good start | ||
| darbelo | It's rather HLL-centric, but provides a good start to get familiar with the tools. | ||
| kthakore | darbelo: ok | 18:51 | |
| NotFound | chromatic: they eat more opcodes than declared in op_count | ||
| darbelo | An even simpler example is the setup.pir I wrote at gitorious.org/digest-dynpmcs/digest.../setup.pir | ||
| That one *only* builds a dynpmc group. | |||
| kthakore | so I can't swap SDL in there? | 18:52 | |
| darbelo | I'm guessing not, but I'm not sure what the SDL build would look like. | 18:54 | |
| shockwave | Does Parrot have JIT capabilities? | ||
| plobsing | arg. svn merge keeps stalling out. | ||
| svn-- | |||
| NotFound | darbelo: currently SDL is pure pir using SDL libraries via NCI | 18:55 | |
| kthakore | darbelo: just need to tell NCI where the SDL dll are loacted | ||
| so it looks there | 18:56 | ||
| NotFound | kthakore: I think I can fix that now. Let me check... | ||
| kthakore | NotFound: oooh cool | 18:57 | |
| NotFound | I think the easy and portable way will be an environment var... SDLLIBPATH, for example | ||
| kthakore | sure or you can just check sdl-config | ||
| that is the sure fire way | 18:58 | ||
| can parrot eval? | |||
| NotFound | kthakore: that will be better done with a configure tool during install. I just look for a quick fix now. | ||
| kthakore | oh ok | 18:59 | |
| NotFound | Anyway sdl-config --libs gives info for a linker, not for dynamic loading. | 19:00 | |
| dalek | kudo/master: 0fabacb | (Martin Berends)++ | docs/ChangeLog: [docs/ChangeLog] draft of the 2010.02 entry |
19:01 | |
| kthakore | NotFound: what do you mean? oh right ... you don't compile anything | ||
|
19:01
davidfetter joined
|
|||
| kthakore | NotFound: well you can use sdl-config --cflags | 19:02 | |
| whiteknight | purl msg allison can you please take a look at TT #1468? I think my idea there would dovetail nicely with your current PCC refactors and there is huge optimization potential if we can create CallContext PMCs or a similar type (with cheap morphing/copying) at compile time and cache it as a constant. | ||
| purl | Message for allison stored. | ||
| kthakore | and regex our -I stuff | ||
| NotFound | kthakore: yes, but too complicated and error prone for a quick fix. | 19:03 | |
| shockwave | So, does anyone know if Parrot has JIT capabilities? | ||
| chromatic | Yes. It doesn't. | 19:04 | |
| kthakore | hehe | ||
| shockwave | chromatic, Do you know if plans are in the works to add it, or that's a no-go? | ||
| whiteknight | chromatic: I'd like to get your input on TT #1468, if you have a moment | ||
| chromatic | shockwave, that's the Lorito project. | 19:05 | |
| whiteknight, I'm all for the CallArguments PMC. | |||
| We have to split out what varies between calls (the arguments themselves) with what we know about them, but that's fine. | 19:06 | ||
| whiteknight | chromatic: awesome! thanks. There are big savings there if we pre-process argument lists. Also, if we associate a PMC with every call site, we gain the ability to add PIC to that very cheaply | ||
| chromatic | Exactly. | ||
|
19:06
cotto_w0rk joined
|
|||
| shockwave | cotto_w0rk, How is lorito going? | 19:07 | |
| whiteknight | Parrot_pcc_build_sig_object_from_ops could almost disappear completely. We have all this information about flags and args at compile time, there's no reason to defer all procssing of it till runtime | ||
| cotto_w0rk | shockwave, it's still primarily in people' | ||
| s heads | 19:08 | ||
| shockwave | dang | ||
| chromatic | Exactly. | ||
| cotto_w0rk | It's a tiny bit frustrating that it's taking so long, but it's worth the effort to get it right. I'm sure it'll pick up after 2.3. | 19:09 | |
| If you have suggestions, please mention them. | 19:10 | ||
| shockwave | cotto_w0rk. I will be using the language that I'm creating to write 3D games. More precisely, | ||
| whiteknight | it might be worthwhile to have a decidated planning meeting on Lorito, like a mini-PDS like we had a few months ago, but focused on Lorito | ||
| cotto_w0rk | +1 to that. | 19:11 | |
| dukeleto | 'ello | ||
| shockwave | The AI for 3D games. The engine is C++. I'm just concerned about speed. But, I'm sure the default implementation of Parrot without JIT will be just fine. | ||
| dukeleto | +1 to lorito-specific meeting | ||
| cotto_w0rk | 'hi | ||
| shockwave | Though, more speed never hurts. | ||
| (Unless your falling from a plane) | |||
| cotto_w0rk | Figuring out an initial op set and a good way to deal with C types would be a good start. | 19:13 | |
| dalek | TT #1468 created by whiteknight++: variadic opcodes make assembly/disassembly difficult | 19:14 | |
| whiteknight | cotto_w0rk: that's a good point | ||
| NotFound | kthakore: first try committed in r44140, but note that is only for the main SDL library, not for image and ttf libs. | 19:16 | |
| kthakore | NotFound: ok | ||
| Coke wishes again that he could be paid to hack on parrot. | 19:17 | ||
| cotto_work | That'd be a pretty sweet job. | 19:18 | |
| kthakore | Coke: I will send you a penny | ||
| Coke: is that enough? | |||
| shockwave | If my game company takes off, I'll probably be sending you guys cash as thanks. Notice the 'if' at the beginning of the sentence. | ||
| Coke | if the games are fun, I'll buy a copy. =-) | 19:19 | |
| kthakore | Coke: that would cost you twice? | ||
| shockwave | That means it would be free to him. | ||
| He sends me the money, and I send it back. | |||
| kthakore | Coke: he should pay you in games thus cutting out the middle mand | ||
| NotFound | And he also get your penny. | 19:20 | |
| kthakore | Coke: not a bad deal you have there sir | ||
| a shiny penny and fun games! | |||
| Coke | kthakore: have we met at a yapc? | ||
| kthakore | nope not yet | ||
| Coke | k. I was thinking 2 years ago (more?) in houston. | 19:21 | |
| kthakore | I have been using my vacations for exam writing :( | ||
| Coke | just trying to match faces to nicks. | ||
| ... I think I'll put together a page with some gravatars on the wiki. | |||
| kthakore | Coke: no I just started working on perl some 6 months | ||
| Coke: my gravtar is not my face | 19:22 | ||
| or it could be | |||
| Coke: github.com/kthakore | |||
| chromatic | Coke, you're thinking of Krishna. | ||
| Coke | rant: trac doesn't have an easy way to create a new wiki page. | ||
| chromatic: with the gloves? | 19:23 | ||
| chromatic | yes | ||
| Coke | ... all these hard-k names sound the same to me, kromatic. | ||
| kthakore | chromatic: I thought that was mario | ||
| dalek | rrot: r44140 | NotFound++ | trunk/runtime/parrot/library/SDL.pir: [lib] provide location of SDL lib by env var SDLLIBPATH |
||
| kthakore | yay! | ||
| NotFound | dalek is being slow | 19:24 | |
| Coke | NotFound: did you mean to print something out there? | 19:25 | |
| NotFound | Coke: yes | ||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32262), fulltest) at r44139 - Ubuntu 9.10 amd64 (gcc with --optimize) | ||
| kthakore | NotFound: nope doesn't work | ||
| :| | |||
| cotto_work | chromatic, what existing VM do you think would be a good starting point for figuring out Lorito's op set? | 19:26 | |
| NotFound | kthakore: you need to put the full path, not just the directory | ||
| kthakore | ah ok | ||
| NotFound: I am using /usr/local/lib/libSDL.so right? | 19:27 | ||
| whiteknight | cotto_work: chromatic has mentioned the smalltalk VM in the past | ||
| chromatic | cotto_work, either Dis (Plan 9) or Squeak (Smalltalk). | ||
| NotFound | kthakore: that's the idea, yes. Works in linux. | ||
| kthakore | crap | ||
| whiteknight | I'm thinking LLVM might also be good too, though we want significantly less complexity | ||
| chromatic | LLVM's basic op set or GNU lightning's is a good resource. | 19:28 | |
| kthakore | oh wait I need to run an example with no SDL image deps | ||
| whiteknight | cotto_work: we need the kinds of operations that any assembly language provides: basic arithmetic, memory access, IO, stack/C-args manipulation, C function calling | 19:29 | |
| anything more complicated can happen in C functions | |||
| Coke | Feel free to add your gravatar link to wiki:ParrotFaces | ||
| whiteknight | if we restrict arithmetic operations to machine word length, we can cut down the opset. Again, if we need to act on chars or shorts, we can do regular arithmetic and bitwise masking | 19:30 | |
| ...and everything more complicated can happen in C functions | |||
| kthakore | NotFound: which example are you running? | ||
| chromatic | Yep, processor cycles are cheap enough that bitmasking is cheaper than an expanded op set and all of the commensurate cache concerns. | 19:31 | |
| cotto_work | Dis seems to be nicely documented: www.vitanuova.com/inferno/papers/dis.html | ||
| whiteknight | chromatic: exactly. And we also don't have to support all the thousands of addressing modes that x86 does | ||
| NotFound | kthakore: One that doesn't use images? blue_rect.pir, I suppose. | ||
| kthakore | ok | 19:32 | |
| NotFound | Or raw_pixels.pir | ||
| kthakore | YAY!!! | ||
| whiteknight | Lorito, I'm thinking, will mostly need to be a glue that provides control flow between C functions that can do the hard or complicated bits. | ||
| kthakore | NotFound: thanks | ||
| NotFound | Glad to help | ||
| whiteknight | more ops can be added to address specific optimization concerns, but I think we can get away with a very very small opset to start | 19:33 | |
| Coke | is it possible to set alt text on an [[image]] in trac? | ||
| chromatic | I hope we don't have many C functions. That defeats the purpose. | ||
| kthakore | NotFound: so you mentioned I should make a module first. Can I just a set of SDL pirs and access tehm for tests and what not? | 19:34 | |
| tewk | chromatic++, Lorito should have no c functions. | ||
| chromatic | Provided we can JIT those base ops accordingly, yes. | 19:35 | |
| NotFound | kthakore: the module is just that, a bunch of files intended to be used together. | 19:36 | |
| dalek | tracwiki: v156 | coke++ | WikiStart | ||
| tracwiki: trac.parrot.org/parrot/wiki/WikiSta...ction=diff | |||
| tracwiki: v1 | coke++ | ParrotFaces | |||
| tracwiki: trac.parrot.org/parrot/wiki/ParrotF...ction=diff | 19:37 | ||
| kthakore | NotFound: ok thanks | ||
| I am going to build on the existing SDL.pir | |||
| see where it goes | |||
| whiteknight | chromatic: we need API functions in any case for extending/embedding | 19:41 | |
| The alternative to having lots of C functions are either (a) lots of Lorito ops, or (b) rewriting huge swaths of code in Lorito | 19:42 | ||
| option (b) will be very painful if we don't gain a dozen new dedicated developers | |||
| dalek | rrot: r44141 | plobsing++ | failed to fetch changeset: merge branch opengl_dynamic_nci |
||
| cotto_work | I'd pictured going with (b) but doing so in such a way that the transition could be done gradually, like the perl to pir test conversions are done now. | 19:43 | |
| Coke | I do notice that the extra merge info is all on commits on files allison touches. =-) | ||
| chromatic | If we end up with a whole pile of backing C code, we'll stay in the same mess we have today. | ||
| Anyone want to put out 2.1.1 with a fix for this GC memory leak? | 19:44 | ||
| cotto_work | yuu have a fix? | ||
| tewk | whiteknight, move c code to close and compile that to lorito ops. Or heck compile C to lorito ops. | ||
| Coke | Haz you a fix? seems like a reasonable thing to do. | ||
| chromatic | Yep, running fulltest now. | 19:45 | |
| Coke | I can scrape some time together tonight to cut a release, sure. | ||
| I'll need someone to upload the ftp tarball. | |||
| particle | start a branch, get news et al worked on by the hoardes | ||
| chromatic | I think the Rakudo folks will appreciate that. | ||
| cotto_work volunteers | |||
| purl | volunteers are FRESH MEAT! MUAHAHAHAHA | ||
| Coke | purl++ | ||
| # and I don't often do that. | |||
| particle | :) | ||
| Coke | chromatic: feel free to just commit it to trunk, I can branch and release from branch with the patch. | 19:47 | |
| whiteknight | tewk: the first option still involves rewriting most of our codebase by hand. The second option involves writing a whole C parser | ||
| Coke | pmichaud: note that this means that 2.1.1. will not exist on trunk. =-) | ||
| chromatic | Will do. | ||
| whiteknight | either case is resource intensive on our developer hours | ||
| chromatic | We'll end up migrating our existing C code eventually. | 19:48 | |
| particle | only in one case do you end up halfway towards c-on-parrot | ||
| chromatic | Coke, r44142. | 19:50 | |
| Coke | chromatic: danke. | ||
| chromatic | That patch should apply cleanly to the 2.1 branch tip. | 19:54 | |
| cotto_work | Coke, how soon will you want the tarball uploaded? | ||
| Coke | cotto_work: I can't do the actual release from work, will start in earnest at about 5:30 EST. (just doing a quick setup in svn right now for testing.) | 19:55 | |
| dalek | rrot: r44142 | chromatic++ | trunk/src/gc (2 files): [GC] Tuned the GC tuning commit of r43939 so that pools which have exceeded headers. This answers the question "Who tunes the tuners?" Unfortunately, it's me, when #perl6 notices. |
19:57 | |
| rrot: r44143 | coke++ | branches/release_2_1_1_RC: Work on a 2.1.1 bugfix release for rakudo, et al. |
|||
| rrot: r44144 | coke++ | branches/release_2_1_1_RC/src/gc (2 files): Apply r44142 from trunk to resolve memory leak. |
|||
| cotto_work | ok. I probably will be busy until about 10 hours from now. | 19:58 | |
| Coke | hey, darbelo, you put the wrong date in the release notes. =-) | ||
| docs/parrothist.pod says Feb 26, not 16. =-) | |||
| darbelo facepalms | 19:59 | ||
| cotto_work | So it was released in the future? | ||
| chromatic | From a flying car. | ||
| cotto_work feels tense | |||
| chromatic | Why? The future is where we shall spend... THE REST OF OUR LIVES. | 20:00 | |
| darbelo | Not if my time machine succeeds! | ||
| Coke | darbelo - you can fix trunk. I'll fix the 2.1.1 branch. | 20:01 | |
| NotFound | whiteknight: PDB_disassemble works by considering set_args_pc, set_returns_pc, get_results_pc and get_params_pc as "specialop" | ||
| darbelo | ok. | ||
| whiteknight | NotFound: are the ops flagged like that, or does it match just those specific values? | 20:03 | |
| NotFound | whiteknight: it just check the codes | ||
| Coke | svn.parrot.org/parrot/branches/release_2_1_1_RC | ||
| NotFound | if (*(op) == PARROT_OP_set_args_pc || *(op) == PARROT_OP_set_returns_pc) | ||
| darbelo | It fits my luck that I name a release 'As scheduled' and the screw up the dates... | ||
| whiteknight | NotFound: oh noes! | ||
| that's horrible | |||
| we need a flag | |||
| NotFound | src/debug.c:2756 | 20:04 | |
| whiteknight | Better yet, we need TT #1468 and fix those damn ops once and for all | ||
| Coke | darbelo: the irony was not lost on me! | ||
| chromatic | Coke, can you make a dummy tarball and put it up somewhere for the Rakudo people to test against? | ||
| Coke | 2.1.1 will follow my semi-tradition and be named STRINGNULL | ||
| chromatic: if that will help, sure. | 20:05 | ||
| NotFound | If I understand that code, the way to know the number of args that follows is to parse the signature? | 20:06 | |
| MMm... looks like the length of the const PMC will be enough. | 20:08 | ||
| The 'elements', I mean. | |||
| Will try that. | |||
| cotto_work | The list of release managers at the top of docs/parrothist.pod is a bit dated. | ||
| chromatic | NotFound, that's what the ops do -- they call elements. | 20:09 | |
| dalek | gest-dynpmcs: 2b08b5f | darbelo++ | src/pmc/ (6 files): Remove svn $Id" fields. |
20:10 | |
| particle | i'm beginning to think parrot releases should all be named after subsystems or cli options, with a blurb about it in the news | 20:12 | |
| parrot 2.1.1, "--gc-debug" | 20:13 | ||
| cotto_work | Does that mean you're volunteering for a release? | 20:14 | |
| dalek | rrot: r44145 | coke++ | branches/release_2_1_1_RC (7 files): update version information for a potential 2.1.1 release |
||
| rrot: r44146 | darbelo++ | trunk/docs/parrothist.pod: Fix tha date for the 2.1 release. |
|||
|
20:16
AndyA_ joined
|
|||
| dalek | TT #1469 created by darbelo++: Deprecate the gdbmhash dynpmc. | 20:22 | |
| NotFound | Nice, now is able to disassemble the winxed compiler :) | 20:28 | |
| whiteknight | shockwave: ping | ||
| shockwave | whiteknight, pong | ||
| whiteknight | shockwave: is your compiler project hosted publicly? | 20:29 | |
| I would like to see it, if it's available | |||
| NotFound | whiteknight: see winxed r414, if you aren't busy | 20:30 | |
| dukeleto | cotto_work: what do you mean about the release manager list being dated? it has been kept up to date | ||
| shockwave | Sorry, my girlfriend's mom called. | ||
| whiteknight, I can send it to you, if you like. | |||
| dukeleto | shockwave: just don't let it happen again ;) | ||
| whiteknight | shockwave: that would be nice. It's not public yet? | 20:31 | |
| shockwave | whiteknight, what specifically are you looking to see? | ||
| whiteknight | shockwave: I just lke seeing new project | ||
| Coke | ugh. t/examples/tutorial.t ... ok | ||
| sh: line 1: 11559 Segmentation fault (core dumped) ./parrot -o /dev/null /tmp/cZbMud8Ezg.pir 2> /tmp/Zsp5RHbOgo.err | |||
|
20:31
AndyA_ joined
|
|||
| Coke | but, all tests pass. | 20:31 | |
| purl | Time to write more tests! | ||
| dukeleto | purl++ | 20:32 | |
| dalek | nxed: r414 | julian.notfound++ | trunk/examples/packfile.winxed: improve disassembler in example packfile, requires parrot r44138 or later |
||
| shockwave | whiteknight, it's not publicly available. I'm not yet done with outputting intermediate (PIR) code. So it's no use to anyone at the moment. Though, I'm hoping to finish outputting the IR by the end of next week. | ||
| dukeleto, haha | |||
| whiteknight, where would you like me to send it to? | 20:33 | ||
| cotto_work | dukeleto, I mean the list at the top of that file. It lists several people who are no longer involved with Parrot. | ||
| dukeleto | cotto_work: they were still release managers in the past, no? | ||
| Coke | feather.perl6.nl/~coke/parrot-2.1.1.tar.gz | ||
| whiteknight | NotFound: awesome | 20:34 | |
| cotto_work | Coke, should that be uploaded or is it just the temporary one. | ||
| ? | |||
| Coke | that's the RC. | ||
| whiteknight | shockwave: wknight8111 at gmail | ||
| dukeleto | did i miss a meeting? what is 2.1.1 about? | ||
| Coke | wait for it. | ||
| dukeleto: trac.parrot.org/parrot/ticket/1465 | |||
| chromatic | dukeleto, a GC bug in 2.1. | ||
| particle | dukey: gc dix | ||
| dukeleto | particle: dukey, eh? Can I call you wavey? | 20:35 | |
| particle | ~~ | ||
| darbelo | I suck at relesing parrots, so they got Coke to do it right ;) | ||
| shockwave | whiteknight, err, I'm working on windows, and the project needs Windows Powershell to run the unit-tests. I'm guessing your using Linux? That's not going to work. | 20:36 | |
| whiteknight | shockwave: I'm on win32 now. | ||
| cotto_work | Coke, how should something like that be tested? The only way to verify it is to look at memory usage since the code runs correctly, though bloatedly. | ||
| shockwave | oh, ok. I'll package it now, then. | ||
| dukeleto | darbelo: i doubt that bug is your fault and there was no test to catch it | 20:37 | |
| Coke | cotto_work: set an arbitrary memory limit. run the loop N times. make sure the memory usage at the end doesn't exceed N. | ||
| er, M. | |||
| dukeleto | where is the diff of the actual fix to the GC bug? | ||
| chromatic | dukeleto, r44142. | ||
| Coke | trac.parrot.org/parrot/changeset/44142 | ||
| dukeleto | chromatic++ coke++ | 20:38 | |
| Coke | also: trac.parrot.org/parrot/browser/bran...e_2_1_1_RC | ||
| trac.parrot.org/parrot/log/branches...e_2_1_1_RC is probably better. | 20:39 | ||
| whiteknight | nice | 20:40 | |
| Coke | rakudo folks are (presumably) testing now. we can cut the release this evening. | ||
| dalek | kudo/master: d41ed4c | jonathan++ | src/ (5 files): Start to recognize my (...) := foo(); as a special form that needs to promote the signature in the reducecheck for := and operate on that; add in infix:<:=> with an error for the non-Signature case and stub in Signature!BIND. |
||
| kudo/master: 10e5b56 | jonathan++ | src/ (3 files): First cut of binding a signature against the return values of a function. Kinda works. :-) |
|||
| kudo/master: 83542c0 | jonathan++ | src/ (2 files): Handle sub-signatures in returns so we can do unpacking, plus other little tweaks. |
|||
| kudo/master: 3ad4e2c | jonathan++ | src/ (5 files): Merge branch 'bindrets' |
|||
| davidfetter | speaking of releases, who's all packaging for what platforms? | 20:41 | |
| Coke | no one is packaging for osx. please, volunteer. =-) | 20:42 | |
| davidfetter | as in fink? | ||
| davidfetter more curious about fedora et al., that being a platform he already knows how to package for | |||
| whiteknight | how are we going to test for the presence of a memory leak? | 20:43 | |
| Coke | davidfetter: no, macports. | ||
| whiteknight: by probing the interpreter after a long loop. or using some non-parrot, platform-specific thing that will at least catch it on linux. | 20:44 | ||
| cotto_work | Do we have something like a mem_size method on ParrotInterpreter? | ||
| whiteknight | such a test could be used to catch any memory leak | ||
| cotto_work | That'd do the trick. | 20:45 | |
| whiteknight | there might be something from the interpinfo_i_i opcode | ||
| cotto_work | .TOTAL_MEM_ALLOC | ||
| dalek | kudo/master: 6357018 | jonathan++ | docs/ROADMAP: Move a couple more items on the ROADMAP to completed. |
20:46 | |
| dukeleto | it would be nice to have the test for the memory leak in 2.1.1 | 20:47 | |
| i.e. 2.1.1 should wait for a proper test. just my $0.02 | |||
| dalek | rrot: r44147 | darbelo++ | trunk/DEPRECATED.pod: Add deprecation notices for gdbmhash and the digest dynpmcs. |
||
| Coke | Nice to have. not a requirement for an emergency bugfix. | 20:48 | |
| the original ticket is still open pending the test, fwiw. | |||
| chromatic | Yep, manual confirmation on several different tests gives me confidence. | ||
| dukeleto | Coke: it assures us (and everybody else) that the bug has actually been fixed. but I hear ya, if the test is going to take a long time, better to cut a release | ||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32265), fulltest) at r44146 - Ubuntu 9.10 amd64 (g++ with --optimize) | 20:50 | |
| cotto_work | It's a pretty easy test to write. | 20:52 | |
| dukeleto | i would like to try to write the memory leak test | ||
| shockwave | whiteknight, I've sent it. I renamed the .exe files to .exex because GMail doesn't like them. | ||
| whiteknight | an idea for a test: in a loop take the amount of allocated memory, allocate a few hundred short-lived PMCs, and count the amount of allocated memory again | ||
| repeat this until the before and after numbers are the same | |||
| cotto_work | or not. Apparently TOTAL_MEM_ALLOC doesn't do what I was expecting. | 20:53 | |
| whiteknight | if, after X loops, the two numbers are not the same, we call it a failure | ||
| Coke | dukeleto: go for it. claim the ticket. =-) | ||
| dukeleto | whiteknight: hmm. how do you choose X? is it platform-specific? | ||
| whiteknight | dukeleto: that's a good question. probably needs some tuning | ||
| Coke | I think making a large threshold value is good. kind of like a mandlebrot generator. | 20:54 | |
| (if we've hit ... 3M, we're probably going off to infinity) | |||
| whiteknight | but we can see from the source code that the PMC arena starts out with size for Y PMCs. Subtract the ones created during interp startup, and then round up to the next full arena | ||
| bubaflub | shouldn't the number of times through that loop be enough to ensure that we force the GC to run? | ||
| Coke | bubaflub: you can force the GC to run. | ||
| whiteknight | 10 loops of 1000 PMCs each should show the issue | 20:55 | |
| bubaflub | Coke: ah true. | ||
| Coke | or 10K loops of 1 pmc. =-) | ||
| dukeleto | bubaflub: howdy! sweep() runs the GC, iirc | ||
| 10K loops of creating a single PMC? | |||
| what about the example code in tt 1465? that seems nice and simple | 20:56 | ||
| cotto_work | it's an infinite loop | ||
| Coke | right. just add a counter to it, that should get us most of the way there. | 20:57 | |
| dukeleto | so is there a nice parrot-ish way to ask how much memory the current interp is using? from PIR, preferrably | ||
| chromatic | For every million PMCs allocated, see that the GC has performed a mark/sweep. | ||
| dukeleto | Coke: that is what I was thinking. just add a counter that bails after 10k loops | ||
| whiteknight | shockwave: language looks very cool. Not entirely dissimilar from C# or Java. Nice | ||
| dukeleto | chromatic: how does one figure out if a mark/sweep has been done, from PIR? | 20:58 | |
| Coke | (this test can be pushed into fulltest, btw. some new 'gctest' target or something, for things that we expect to suck, timewise.) | ||
| cotto_work | dukeleto, check out the interpinfo opcode | ||
| dukeleto | cotto_work: danke | ||
| Coke | argh. 2.1.1 still sucks on the 'svk' test front. | 20:59 | |
| (I added a bin/svk that just errors out, that didn't help. =-) | |||
| whiteknight | dukeleto: check out t/op/string_mem.t | ||
| Coke | other than that, the tarball seems ok to me. | ||
| shockwave | whiteknight. Yeah. I didn't want to re-invent the wheel. I just need something that works well for writing AI logic for a 3D game. Also, I wanted the language to have inferred typing, which I accomplished, so I'm happy. | 21:00 | |
| dukeleto | interpinfo looks useful for the memory leak test | ||
| whiteknight | dukeleto: t/op/string_mem.t:test_pin_unpin() | ||
| dukeleto | whiteknight: that looks useful. thanks! | 21:01 | |
| which file should the test for the memory leak live? | |||
| whiteknight | dukeleto: that also has an experimental feature I added that lets you check the type of GC that's in use, so you don't run the test on a GC that doesn't keep the stats you are looking for | 21:02 | |
| dukeleto | new file? the gc tests? if we want it only in fulltest, a new file is preferred, correct? | ||
| whiteknight | for instance, you don't want to run a memory leak test on the INF GC | ||
| dukeleto | whiteknight: i saw that. very nice. | ||
| whiteknight | dukeleto: new file | ||
| purl | rumour has it new file is truncated | ||
| dukeleto | new file it is | ||
| whiteknight | t/pir/memory_leak.t or something | 21:03 | |
| particle | t/gc/leaks.t | ||
| name the test subdir after the subsystem | 21:04 | ||
| whiteknight | particle: that's cool too, but then you need to add a new dir to all the make targets | 21:05 | |
| bubaflub | if there will be more gc tests in the future, maybe t/gc isn't a bad idea | 21:06 | |
| whiteknight | "if" | ||
| cotto_work | We want more tests for that. | 21:07 | |
| bubaflub | i mean, i'm hoping there will be more | ||
|
21:07
lucian_ joined
|
|||
| Coke | whiteknight: ... add a new dir? | 21:09 | |
| (er, to the make targets?) | |||
| whiteknight | Coke: they want to add a new directory of tests under t/ | ||
| which means we need to add that directory to all the test make targets so we run the tests in those direcories | 21:10 | ||
| Coke | (which tests get run are controlled either by a flag to t/harness or by specifying the explicit list of tests to run on the command line; we're adding a new target entirely for this test, so I fail to see how this is a problem. | ||
| most of the lists of tests are actually in lib/Parrot/..../*.pm | |||
|
21:10
joeri joined
|
|||
| cotto_work | Hmmm. The number returned by MEM_ALLOC_TOTAL doesn't change, even after 2 minutes of running through the loop. | 21:10 | |
| whiteknight | Coke: Oh, I tought it was something like "perl t/harness t/pmc/*.t ..." | 21:11 | |
| so if you're not using wildcards, you can just ignore what I was saying | |||
| dalek | parrot: 5a56a0a | (Joshua Tolley)++ | ROADMAP: Make notes |
21:12 | |
| cotto_work | it could be that interp->mem_pools->mem_allocated isn't being updated properly, though there are a couple spots where it's updated. | 21:15 | |
| shockwave | Someone please make += work for strings registers. Pretty please. :) | 21:17 | |
| GeJ | Good morning everyone. | ||
| pmichaud | shockwave: += as concatenation or as addition? | ||
| Coke | shockwave: concat works. | ||
| davidfetter | mornin' GeJ | ||
| pmichaud | what Coke++ just said | ||
| shockwave | concatenation | ||
| purl | it has been said that concatenation is and. | ||
| Coke | $S1 = concat $S0, $S2 | ||
| pmichaud | actually, concat $S0, $S1 works also | ||
| (which would be the equivalent of $S0 .= $S1) | 21:18 | ||
| shockwave | Is that a recent addition. Mine fails, but I think I'm using parrot 1.8 or something like so. | 21:19 | |
| darbelo | shockwave: Note they said .=, not += | 21:20 | |
| shockwave | oh | ||
| darbelo | Different opcodes get different syntax. PIR is assembler-is in that way. | ||
| s/-is/-ish/ | 21:21 | ||
| shockwave | Just throwing out there that += would be nice to have. | ||
|
21:21
bluescreen joined
|
|||
| shockwave | But.= will work too. | 21:21 | |
| chromatic | I can't see the point of +=. | 21:22 | |
| Why multiply sugar? | |||
| shockwave | It makes it easier to output compiler code. | ||
| Because for builtin types, you can just += any var. | |||
| But, like you said, is just sugar. | 21:23 | ||
| chromatic | If your code generator doesn't know the difference between addition and concatenation, you have problems. | ||
|
21:23
patspam joined,
nbrown joined
|
|||
| shockwave | I do have problems, but that's not the reason. | 21:23 | |
| chromatic | I can't see how it's not a problem. | 21:24 | |
| You emit code and *something* has to guess at what type of operation you want. | |||
| Coercion heuristics that sloppy are a mess. | 21:25 | ||
| You end up with something like PHP's === and then I take away your computer. | |||
| darbelo | I thought you took away birthdays as punishment. | 21:26 | |
| PerlJam | does that mean they become unborn? | ||
| chromatic | They already were, I think. | 21:27 | |
| shockwave | done. .= implemented. | 21:30 | |
| cotto_work | size_t memory_allocated; /* The total amount of allocatable memory allocated. Doesn't count memory for headers or internal structures or anything */ | 21:31 | |
| So what *does* it count and why is that useful? | |||
| chromatic | I realize it's a little more code in your generator, shockwave... but you already have enough type information there to be able to generate the op. | ||
| If you throw away that memory, we lose a lot of information at lower levels that we need. | |||
|
21:32
bubaflub left
|
|||
| cotto_work | But why is that value useful? | 21:32 | |
| chromatic | cotto_work, I was talking to shockwave, sorry. | ||
| cotto_work | The interpinfo constant to access it is INTERPINFO_TOTAL_MEM_ALLOC, which implies much more than there. | 21:33 | |
| gotcha | |||
| chromatic | I don't know what that GC attribute tracks or why. I don't recall it ever working consistently. | ||
| shockwave | chromatic, yeah. I was just being lazy. | ||
| davidfetter impatient | |||
| chromatic | and Coke has hubris. | 21:34 | |
| Or was that hummus? | |||
| Coke | chromatic: no, I'm either a "petulant child" or "myopic". | 21:35 | |
| chromatic | Mr. Clean with a Snapple addiction. | ||
| dalek | kudo/master: 6663abf | (Martin Berends)++ | docs/compiler_overview.pod: [docs/compiler_overview.pod] clarified some explanations, total around 85% complete |
21:38 | |
| Coke | ah, the things people remember about you. | 21:39 | |
| chromatic | You built a fortress of solitude out of empty Diet Peach Snapple containers in a single afternoon! | 21:40 | |
| Even Marlon Brando looked concerned. | |||
| dalek | nxed: r415 | julian.notfound++ | trunk/examples/packfile.winxed: disassembler in example packfile show "special" arguments, requires parrot |
||
| NotFound | That completes the proof of concept of a disassembler based in the packfile an opcode PMCs :) | 21:42 | |
|
21:45
alin joined
|
|||
| shockwave | += doesn't work for adding a float to an int. How should that be handled? | 21:46 | |
| Coke | do you want to end up with an int or a float? | ||
| chromatic | That depends on your language's promotion rules. | 21:47 | |
| shockwave | Coke, int | ||
| Coke | then do an $I0 = $N0 first before you try to add. | ||
| nopaste | "shockwave" at 76.119.137.239 pasted ".sub 'foo' :method $I10000001" (5 lines) at nopaste.snit.ch/19697 | 21:48 | |
| shockwave | Is gonna be somewhat difficult rework what's being generated there. | ||
| Coke | shockwave: any reason you're not just using PAST? | 21:49 | |
| ... that question sounds really familiar. | |||
| shockwave | I coded the compiler using Lemon and PIR, and created my own AST. | ||
| Coke | nevermind. | ||
| shockwave | Lemon and RE2C, that is. | 21:50 | |
| nopaste | "coke" at 65.91.151.194 pasted "shockwave, this works." (11 lines) at nopaste.snit.ch/19698 | 21:52 | |
| Coke | forces you to use intermediate registers, but hopefully not too much of a change. | ||
| dalek | parrot: eb1df83 | (David E. Wheeler)++ | (2 files): Move `plparrot.c` to `src`. |
||
| parrot: 54cff80 | (David E. Wheeler)++ | .gitignore: Ignore `results` dir and generated `plparrot.sql` file. |
|||
| theory | How do we change that so it uses my irc nick? | ||
| Coke | which it? | 21:53 | |
| shockwave | Coke, Thanks. I'll work with your info. | ||
| Coke | oh, you're david? =-) | ||
| cotto_work | dalek grabs that from CREDITS in Parrot's root dir | ||
| Coke | cotto_work: it's not per-project CREDITS? | ||
| cotto_work | possibly | ||
| shockwave | rant: This particular change, to use intermediate register, is going to be a pain. | 21:56 | |
| dukeleto | theory: dalek uses the CREDITS file to keep track of giving karma to people which have multiple commit names | 22:01 | |
| theory looks | |||
| dukeleto | theory: the A: entries are aliases for the main U: entry for each person | ||
| theory | dukeleto: Hrm. I have a U: line just like you. | 22:02 | |
| There are no A: entries | |||
| dukeleto | theory: you are looking in the PL/Parrot CREDITS? I am talking about the Parrot CREDITS | ||
| theory | Oh | ||
| I'm listed as David Wheeler there, but dalek knows me as David E. Wheeler | |||
| Oh, I have no Parrot credits | |||
| I've done nothing for Parrot | 22:03 | ||
| dukeleto | theory: looks like you will have to write a patch and get your name in there ;) | ||
| theory | Meh | ||
| dukeleto | theory: you work on PL/Parrot, and that ain't nothing | ||
| theory: but i hear ya. dalek should look at the CREDITS of each project it knows about | 22:04 | ||
| theory | dukeleto: Is your github repo the canonical upstream parrot repo? | ||
| dukeleto | theory: no, the canonical parrot repo is svn. mine is just a mirror. it does not push changes back to svn | 22:05 | |
| theory | mkay | ||
| theory thought parrot had moved to git | |||
| dukeleto | theory: i use it as a place to show off topic branches and just be a general mirror | ||
| theory | must be thinking of rakudo | ||
| cotto_work | theory, not yet | ||
| theory | np | ||
| me clones git://github.com/leto/parrot.git | |||
| dukeleto | theory: yep. rakudo is on git. I will attempt to convert parrot to git, whenever they let me | ||
| theory | he | 22:06 | |
| h | |||
| dukeleto | theory: just note that the 'master' branch is dirty with merges, so you want to look at the 'upstream' branch | ||
| theory: i need to fix that one of these days | |||
| theory: i figured out how to mirror without leaving merge commits | |||
| theory | good idea | ||
| purl | theory: Good Idea: Visiting the circus. Bad Idea: Having the circus visit you. | ||
| theory | where should I send the patch? | 22:07 | |
| chromatic | particle, do you mean to send that here? | ||
| cotto_work | you can nopaste it here and there's a good chance someone will apply it. | 22:08 | |
| theory | dukeleto: patch: parrot.privatepaste.com/6a446769c9 | 22:09 | |
|
22:10
bacek joined
|
|||
| dalek | kudo/master: c69aeb9 | pmichaud++ | docs/release_guide.pod: Update release_guide.pod with more names. |
22:13 | |
| dukeleto | theory: done | 22:15 | |
| theory | mkay | ||
| dalek | kudo/master: 2663b19 | (Martin Berends)++ | docs/ (2 files): [docs/] additions to ChangeLog and announce/2010.02 |
22:18 | |
| shockwave | I there a recommended place to attach test files? | 22:20 | |
| Comparing two equal floats fail. | 22:21 | ||
|
22:21
snarkyboojum joined
|
|||
| shockwave | I know float comparison is hazy in many languages, but this one may be extra hazy. | 22:21 | |
| chromatic | How did you generate the floats? | ||
| dukeleto | shockwave: show me the code | ||
| nopaste? | |||
| purl | rumour has it nopaste is at nopaste.snit.ch/ (ask TonyC for new channels) or paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at www.extpaste.com/ or paste.scsys.co.uk (for #catalyst, #dbix-class, #moose and others) or gist.github.com/ or paste or gtfo or tools/dev/nopaste.pl or trac.parrot.org/parrot/browser/tru...nopaste.pl | ||
| shockwave | I wanted to paste the files, but I'll cut the relevant stuff. | 22:22 | |
| dukeleto | shockwave: are you working in PIR? we have functions for comparing floats with a given precision | ||
| shockwave: is(x,y,msg,eps) in Parrot's test_more.pir | |||
| where eps is the precision that you want to check within, i.e. eps = 1e-3 | |||
| nopaste | "shockwave" at 76.119.137.239 pasted "method of generating and comparing floats." (31 lines) at nopaste.snit.ch/19699 | 22:25 | |
| shockwave | dukeleto, I'll take a look at it. | ||
| dalek | rrot: r44148 | dukeleto++ | trunk/CREDITS: [cage] Add David Wheeler's info to CREDITS so his work on PL/Parrot gets properly karma-ified |
22:26 | |
| dukeleto | shockwave: you can't compare floats exactly. you gotta subtract and see that the difference is less than you care about | 22:27 | |
| shockwave | The asserting message says: | 22:28 | |
| Received: 3.140000 | |||
| Expected: 3.140000 | |||
| dukeleto, though, I get what you're saying, internally, they seem to be the same exact number. | 22:29 | ||
| dukeleto | shockwave: you are not printing out the full numbers, only the first 6 decimals | 22:30 | |
| shockwave | I'm priting %f | ||
| dukeleto | shockwave: and also, sometimes internal representations are different than printable representations. Moral of story: never compare floats exactly | ||
| particle | even NaN is a range of values | 22:31 | |
| ...not that it will ever compare equal... | |||
| dukeleto | shockwave: try %G | 22:32 | |
|
22:32
Whiteknight joined
|
|||
| dukeleto | shockwave: you are only looking at the float representation. the double represention is probably off in the least significant bit | 22:32 | |
| shockwave | is outputs 3.14 | 22:33 | |
| s/is/it | |||
| dukeleto | shockwave: it is trying to be smart and printing out something that looks nice. what happens when you subtract them? what is the difference? | 22:34 | |
| shockwave | They are both 3.14 | ||
| Expected is literal 3.14, and Received is the subtracted one. | |||
| I'm looking at the test stuff. I just wanna get this working. | 22:35 | ||
| dukeleto | shockwave: no. print out (first-second) and see what that is | 22:39 | |
| shockwave | dukeleto, test_more.pir points to Test/More.pir | 22:40 | |
| dukeleto | shockwave: yep. follow the rabbit hole :) | ||
| shockwave | In there, float comparision is done via: | ||
| darbelo | shockwave: Welcome to IEEE 754, have fun looking for the way out. | ||
| dukeleto | darbelo: lulz | ||
| shockwave | pass = iseq ln, rn | ||
| dukeleto | darbelo: that should be "Welcome to IEEE 754-2008. Abandon all hope." | 22:41 | |
| shockwave: there are many multimethods for is(). you are looking at the wrong one | |||
| shockwave: look for one that takes 4 arguments | |||
| dalek | kudo/master: a04aba2 | jonathan++ | src/pmc/p6opaque.pmc: Since we wrapped out Parrot routines in our own wrappers, we added an extra PIR invocation as a re-direct every time. Optimizing that path to save the extra invocation seems to save us > 30% in some benchmarks. |
||
| kudo/master: 15ba550 | jonathan++ | src/builtins/Mu.pir: Since we've no custom metaclasses yet, we can cheat in the default BUILD a bit (when we do have them, we can probably move this BUILD into the meta-class and continue to cheat, albeit at tail-call cost or so. |
|||
| shockwave | dukeleto, there is none. | 22:42 | |
| darbelo | I had the... instructive... experience of having to implement a fp unit in VHDL about a year and a half back. It still hurt on cold days. | 22:43 | |
| shockwave | The not equals is implemented as: ne left, right, pass_it | 22:44 | |
| I'm assuming the are the same as the sugar == version. | |||
| Damn floats. | |||
| dukeleto | shockwave: search for "check_precision" in that file | ||
| shockwave: line 244 of Test/More.pir | |||
| shockwave | dukeleto. Got it. | 22:45 | |
| dukeleto | shockwave: you have to look at the .param lines to see how many arguments a PIR function takes. | ||
| shockwave | dukeleto. True. I was looking at multi. | 22:46 | |
| dukeleto. Thanks. I should be able to wipe something up with this. | |||
| dukeleto, one more question: So, to have a precission of 4 decimal places as in : 9.1234, I pass: 1e-4 ? | 22:47 | ||
| NotFound | $ winxed --stage=2 -e 'float n= 6.14; n= n - 3.0; say(n-3.14)' | 22:49 | |
| -4.44089209850063e-16 | |||
| Not exactly equal. | |||
| dukeleto | shockwave: pretty close | 22:51 | |
| shockwave: if you want to make sure the first 4 digits match, then it is actually more like 2*1e-5 | 22:52 | ||
| shockwave: but it is pretty much the same. if you expect two floats to be the same, 1e-6 or 1e-8 is usually a good value | |||
| Whiteknight | darbelo: I made an fp in verilog a while back, and had to use it to run a suite of CORDIC benchmarks | 22:53 | |
| shockwave | I need the precision for 3D math. I'm gonna need the 4 places 2*1e-5 | 22:54 | |
| chromatic | Can you use fixed point calculations instead? | ||
| NotFound | Good point X-) | 22:55 | |
| shockwave | chromatic, as in regular ints? | ||
| chromatic | Yes. | ||
| shockwave | No, I can't. The 3D engine requires floats. | ||
| Coke ponders why he cannot get a job working primarily in perl. | 22:56 | ||
| dukeleto | shockwave: occasionally you can work with ints during all intermediate calculations, then divide at the end | ||
| Coke: willing to move or telecommute only? | |||
| Coke: i saw your tweet. looking for a new gig? | |||
| Coke | not really able to move. | 22:57 | |
| NotFound | Coke: A *REAL* programmer can write perl in any language... Or it was Fortran? | ||
| chromatic | I know what you mean. I had a tetanus booster yesterday and my shoulder is stiff. | ||
| shockwave | dukeleto, It seems like I'm gonna need to. | ||
| dukeleto | Coke: i hear ya. i forget, are you in seattle? or am i confusing you with someone else | ||
| Coke | Albany, NY is the closest big town. | ||
| perhaps big should be in quotes. | |||
| Coke is no real rush, but it's definitely time to think about it. | 22:59 | ||
| chromatic | There's a fake Rush? | ||
| dukeleto | Coke: gotcha. there are definitely a lot of perl jobs in NYC, but that is a bit far for a commute for you | ||
| Coke | anyone try the 2.1.1. tarball? | ||
| dukeleto: I've commuted to NYC before. They'd have to pay a lot to make the hassle worth it, but it's definitely possible. | 23:00 | ||
| darbelo | Whiteknight: Ohhh, CORDIC. That was my final project for that course. I used it to make pictures rotate in an old vga monitor. | ||
| If I dig about I can probaly find the VHDL source for the video output module. | 23:01 | ||
| Coke | chromatic: *in* no real rush. | ||
| kthakore | hi Coke | 23:02 | |
| Coke | kthakore: hio | ||
| kthakore | Coke: does Parrot have threads? | ||
| or can it have threads? | |||
| dukeleto | feather is laggy | 23:03 | |
| Coke | ... not sure why you'd single me out for that. =-) | ||
| kthakore | Coke: oh no reason | ||
| sorry | |||
| darbelo | kthakore: parrot has threads. But they're... undertested. | ||
| Coke | I honestly don't know what the current status of threads is. ah there you go. | ||
| kthakore | ok can I read about them somewhere | ||
| I wanted to try a little toy in parrot | 23:04 | ||
| hehe parrot toy | |||
| darbelo had a toy parrot. | |||
| kthakore | darbelo: please keep it to your self ;) | ||
| Tene | last I checked, threads still weren't usable if you'd created any classes in nested namespaces. | ||
| trac.parrot.org/parrot/ticket/757 | 23:05 | ||
| kthakore | Tene: so perl6 won't have threads from parrot? | ||
| Tene | kthakore: Rakudo won't have threads until threads are fixed in Parrot. | ||
| kthakore | right | 23:06 | |
| ok | |||
| pmichaud | where can I find the 2.1.1 tarball? | ||
| (to test against rakudo) | |||
| Coke | feather.perl6.nl/~coke/parrot-2.1.1.tar.gz | 23:07 | |
| dukeleto | kthakore: parrot has threads, but they are buggy | 23:10 | |
| kthakore | dukeleto: cool | ||
|
23:11
joeri left
|
|||
| pmichaud | Coke: thanks | 23:13 | |
| building, testing, etc. | 23:14 | ||
| dukeleto | happy pi time (in PST) | ||
| or is it PDT? i hate DST | 23:15 | ||
| Coke has taken to just saying "Eastern" | |||
| pmichaud | dst doesn't start until march 8 (in the u.s. (for those parts of u.s. that observe dst) ) | 23:17 | |
| dukeleto | pmichaud: i have to write a lot of code at work to deal with that. i just block it all out of my mind | ||
| pmichaud: certain cities and counties don't follow DST. yay! | 23:18 | ||
| pmichaud: that fact gets real fun when you are trying to timeshift data coming from mobile phones, which can move in and out of DST and non-DST geographic reas | 23:19 | ||
| areas, even | |||
| and of course, everybody reports data in the local timezone. UTC? what is that for? | 23:20 | ||
| chromatic | Socialist Europe. | ||
| NotFound | dukeleto: just play games with the data until they look like the expected results, like the climate pros do. | 23:21 | |
| Socialistic Republic of Greenwich. | 23:23 | ||
| dukeleto | NotFound: you have no idea ;) | 23:24 | |
| Coke | I'm going to go offline. someone text me when rakudo says it's ok. | 23:26 | |
| chromatic wantes typed C hashes | |||
| Coke | anyone have my cell? | ||
| I just pm'd chromatic with it. | 23:27 | ||
| ~~ | |||
| chromatic | Oh, okay. I'll let you know if we need it. | ||
|
23:31
kid51 joined
|
|||
| Whiteknight | no reaction at all to my Parrot_call_* removal notice | 23:36 | |
| dukeleto | Whiteknight: i threw a tomato at my screen | ||
| Whiteknight | ...no reaction that was communicable over the internet | ||
| dukeleto | Whiteknight: i think maybe the people who need to know about that are maybe not on parrot-dev ? | 23:37 | |
| pmichaud | Coke: 2.1.1 tarball passes spectest against rakudo head just fine. | ||
| ran spectests in 12m0s (non-parallel) | |||
| dukeleto | Whiteknight: who embeds parrot? other than parrot_debugger and PL/Parrot? | ||
| Whiteknight | mod_parrot | ||
| purl | mod_parrot is being worked on again. ;) or at www.parrotcode.org/mod_parrot or at svn.perl.org/parrot-modules/mod_parrot | ||
| dukeleto | Whiteknight: oh yeah! did you ack the mod_parrot source for the functions you changed? | 23:38 | |
| Whiteknight | nope | ||
| dukeleto | Whiteknight: might be a good idea, just to give jhorowitz a heads up | ||
| kid51 | jhorwitz | ||
| purl | somebody said jhorwitz was "mod_parrot-guy" or mailto:jeff@smashing.org | ||
| Whiteknight | he's definitely on parrot-dev | ||
| dukeleto | Whiteknight: yes, but he might now be reading all the messages. it may be a good idea to send him a personal msg | 23:39 | |
| kthakore | NotFound: hi | 23:40 | |
| Whiteknight | where is the mod_parrot repo even located anymore? | ||
| kthakore | NotFound: I have made this format of the runtime SDL library | ||
| github.com/kthakore/parrotSDL | |||
| the SDL code is in runtime/parrot/library | |||
| How can I get parrot to point to this when it runs | 23:41 | ||
| dukeleto | kthakore: .include 'SDL.pir' | 23:42 | |
| kthakore: also, nice work. SDL on parrot is exciting! | 23:43 | ||
| kid51 | Whiteknight: you ping-ed me a couple of days back ? | 23:44 | |
| kthakore | dukeleto: I didn't do anything yet | ||
| dukeleto: I just 'stole' the code out from under you guys | |||
| dukeleto: that way I can work on it seperatly and bring it back in | 23:45 | ||
| Whiteknight | kid51: I was trying to figure out what was the status of a few older branches | ||
| dukeleto | kthakore: well then. sounds good! | ||
| Whiteknight | some of them look like your handiwork | ||
| kthakore | heh ok | ||
| dukeleto: thanks | |||
| I kept itching to pull the trigger finger on it | |||
| dalek | kudo/master: e77b754 | jonathan++ | src/ (2 files): Optimize hash - especially slurpy hash - creation. |
23:46 | |
| dukeleto | kthakore: so you want to point parrot at your runtime dir? | ||
| Whiteknight | when's the Rakudo release coming out? | ||
| kthakore | dukeleto: yes | ||
| dukeleto: is that possible | |||
| dukeleto | kthakore: maybe just symlink the SDL/ dir and SDL.pir ? | ||
| kthakore: that is the easiest way | |||
| kid51 | Whiteknight: Yes. We spoke about detect_llvm/ several months ago. That's waiting on an LLVM in Parrot :-) | ||
| kthakore | oh I was thinking something like path | 23:47 | |
| dukeleto | kthakore: make sure to make the symlinks in the installed version of parrot | ||
| kthakore: there may be a way to do it with env vars, but I don't know | |||
| kthakore | dukeleto: ok I will ask around | ||
| kid51 | Whiteknight: tt509_install_files branch was for evaluating a patch submitted by ___ (name escapes me now). | ||
| kthakore | dukeleto: I need to make the boilerplate anyway | ||
| kid51 | I repeatedly begged for review on #parrot, in #parrotsketch pre-post -- got none | ||
| kthakore | the *most* fun part of any project | ||
| :) | |||
| dukeleto | kthakore: asking on parrot-dev may get you a useful answer | 23:48 | |
| kthakore | parrot-dev the channel ? | ||
| oh mailing list | |||
| parrot-dev@perl.org | |||
| right? | |||
| kid51 | tt509: patch submitted by wayland | ||
| chromatic | It's not begging if I don't get pie. | 23:49 | |
| kthakore gives chromatic a pie piece | |||
| chromatic | Fun fact: there were two pies for Pie-thon. | ||
| Funner fact: I took one of them home. It was good. | |||
| kthakore | heheh | 23:50 | |
|
23:50
snarkyboojum joined
|
|||
| kthakore | chromatic: fun fact pies are fun | 23:50 | |
| Whiteknight | after this week's Rakudo release, I'll dump the parrot_call_dep and pmc_func_cleanup branches to trunk | ||
| dump and run | |||
| even though it shouldn't matter, if they base their release on 2.1.1 | |||
| chromatic | This is why we don't let you run with scissors. | 23:52 | |
| kthakore | dukeleto: ok I found the link | ||
| I will send a post out thanks | |||
| now back to perl5 side of SDL | |||
| cya | |||
| chromatic | Ugh, lousy hash implementation. | 23:57 | |
| Whiteknight | okay, enough bitchin. What will it take to make it non-lousy | 23:58 | |
| ? | |||
| chromatic | The biggest culprit right now is indirect function calls for every key comparison. | 23:59 | |
| src/hash.c lines 1213-1226. | |||