Camelia, the Perl 6 bug

IRC log for #parrot, 2010-02-18

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:01 dalek digest-dynpmcs: 003830a | darbelo++ | LICENSE:
00:01 dalek digest-dynpmcs: Add a LICENSE file.
00:01 dalek digest-dynpmcs: review: http://gitorious.org/digest-dynpmcs/digest-dynpmc​s/commit/003830a6a80444b90288a570832b4d587d74d69d
00:01 darbelo Looks like it works. Infinoid++
00:02 Infinoid All I did was tail a logfile. :)  dalek++
00:02 dalek rakudo/master: e7a395b | jonathan++ | t/spectest.data:
00:02 dalek rakudo/master: Add S06-signature/tree-node-parameters.t to spectest.data.
00:02 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/e​7a395b163f1182c0eba8055edf4e55d85343a05
00:02 dalek rakudo/master: 5d43a30 | jonathan++ | docs/ROADMAP:
00:02 dalek rakudo/master: Move unpacking arguments to completed section of ROADMAP.
00:02 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/5​d43a30b9b57638902fcc1a9eff8ac66fb467da2
00:04 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?
00:04 purl it has been said that man tar is http://www.bsdi.com/bsdi-man/?tar(1) or http://www.mail-archive.com/foru​m@mikrodata.co.id/msg09347.html or http://www.mail-archive.com/foru​m@mikrodata.co.id/msg09464.html
00:04 dalek parrot-plumage: db5dfd6 | darbelo++ | metadata/digest-dynpmcs.json:
00:04 dalek parrot-plumage: Add plumage metadata for the digest-dynpmcs module.
00:04 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/db5dfd6a07172960e86b7cccce37495486d041ee
00:04 Andy No, no, I mean what I need to have as far as autoconf and whatnot.
00:05 Andy tar I know.
00:05 Andy left #parrot
00:05 Andy joined #parrot
00:05 Andy left #parrot
00:06 Andy joined #parrot
00:06 Andy ooops
00:06 darbelo Usualy you should tar up you project dir, maybe includeing some generated files.
00:06 Andy Yes, and those generated files are the issue.
00:08 Infinoid I think it's up to you to decide whether to use autoconf, or cmake, or whatever
00:08 Infinoid If you're looking for an autoconf library howto, there's http://www.openismus.com/documents/linux/b​uilding_libraries/building_libraries.shtml I suppose
00:09 Infinoid though it may be acceptable to just ship it with a plain old Makefile, depending on your target audience :)
00:10 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.
00:10 Infinoid chromatic++
00:10 Andy chromatic: I'm aware of that, but I feel it's necessary.
00:11 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 chromatic If you can get away with cmake, you're probably better off.
00:11 Andy cmake?
00:11 purl cmake is a nice alternative to autoconf
00:12 chromatic http://www.lazycodemonkey.com/?p=46=1
00:12 darbelo It's way less painful that autofools.
00:12 Andy I want people to be able to unzip the tarball, run ./configure, and then run make
00:12 Andy That's all i want.
00:17 fperrad_ joined #parrot
00:17 Andy Am I right in my understanding that autoconf is what I run to create ./configure before tarballing it all up?
00:18 darbelo Yes.
00:18 tetragon joined #parrot
00:19 Coke Whiteknight: the ticket you closed is in deprecated.pod
00:21 Coke opbots:names
00:24 ZeroForce joined #parrot
00:26 mj41 Good night from Czech republic.
00:27 Coke dober den.
00:27 Coke (me wonders if that's even close in czech. prolly not. =-)
00:27 mj41 btw there is #taptinder   irc://irc.freenode.org/taptinder and some new docs http://dev.taptinder.org/w​iki/Special:RecentChanges
00:27 Coke dobrou noc.
00:28 mj41 Coke: yes ... dobry den a dobrou noc
00:28 Coke oh, crap, it's leka nosht in bulgarian. is dobry den "good day" ?
00:28 Coke "beunos suenos." =-)
00:29 mj41 dobry den = good day in raw translation, we have also dobre rano ... good morning
00:30 chromatic What does "ruh roh" mean?
00:30 Coke translate "uh oh" into scooby.
00:30 purl babelfish cannot translate from en to en.  Try translating through English.
00:30 Coke huh. that is suprisingly close to the bulgarian.
00:30 chromatic Now you're spending the next ten minutes humming THAT theme song.
00:30 Coke nifty.
00:30 Coke no, I'm picturing SMG in the LA version.
00:31 mj41 Ale ted uz opravdu dobrou noc. Uvidime se zase zitra.
00:31 Coke ~
00:42 kthakore joined #parrot
00:42 kthakore chromatic: thanks :)
00:42 chromatic You're welcome.
00:44 kthakore chromatic: I recently put together a nice (hopefully easy to read) 400 line game. http://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 kthakore chromatic: thank you again
00:44 kthakore it was very nice
01:01 abqar joined #parrot
01:02 szabgab joined #parrot
01:04 bacek_at_work chromatic, look http://search.cpan.org/perldoc?everywhere
01:05 bacek_at_work 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 #parrot
01:10 Whiteknight there should be a way to turn on warnings and error checking from the commandline
01:11 Whiteknight and a PARROTWARNINGS global var would be nice too
01:13 hudnix joined #parrot
01:15 Coke Whiteknight: ... like -w ?
01:16 Whiteknight -w doesnt turn on error checking
01:18 Whiteknight a -e would be a nice compliment
01:54 dalek pynie: r103 | allisonrandal++ | trunk/ (2 files):
01:54 dalek pynie: Fix the dictionary builder. Simple named parameters only work with
01:54 dalek pynie: literal string keys, so need to use a more complex method of building
01:54 dalek pynie: up the dictionary key/value pairs.
01:54 dalek pynie: review: http://code.google.com/p/pynie/source/detail?r=103
02:04 Whiteknight how do constants work in PIR again? using the :immediate or :compreg flags?
02:07 chromatic :immediate
02:07 purl hmmm... :immediate is a very tricky beast
02:07 Whiteknight chromatic: right, but how does that make a constant value?
02:07 Whiteknight I can't seem to find any examples of it's use
02:08 chromatic Whatever it returns gets stored in the PBC.
02:08 Whiteknight ah, nevermind. I found an example in t/pmc/sub.t
02:09 Whiteknight I'm thinking this kind of mechanism might help with some of our exception handler issues
02:10 Whiteknight we can set them up as compile-time constants
02:11 chromatic ... unless the return pc is part of the EH, in which case a static EH isn't great.
02:14 Whiteknight ...actually, constants built in that way aren't stored in the constants table like I was hoping
02:16 Whiteknight looking at the pbc dump, I'm not sure it does anything worthwhile at all
02:18 Whiteknight My conviction that we need a good way to include PMC aggregate constants in PIR code is growing
02:19 Whiteknight 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:21 chromatic Yeah, the syntax is a tough part.
02:22 chromatic I suppose we could mandate :immediate to do it.
02:22 chromatic That's not hugely awful.
02:22 chromatic It's not NOT awful though.
02:30 Whiteknight I've been thinking a syntax like ResizablePMCArray:{1=>"foo", 2=>3.14, 3=>7}
02:31 Whiteknight the => would provide keyed access
02:31 Whiteknight or Integer:{7}
02:31 Whiteknight or Hash:{"foo"=>3, "bar"=>"f"}
02:33 Whiteknight 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:34 Whiteknight 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:35 Whiteknight accessing that value at runtime, however, raises another problem
02:36 fperrad_ joined #parrot
02:55 dalek rakudo/master: 351d3d8 | pmichaud++ | docs/spectest-progress.csv:
02:55 dalek rakudo/master: spectest-progress.csv update: 172 files, 4816 (29.1% of 16525) pass, 1 fail
02:55 dalek rakudo/master: Failure summary:
02:55 dalek rakudo/master: S29-conversions/ord_and_chr.rakudo aborted 1 test(s)
02:55 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/3​51d3d8e8f195dd3eebe15375f25efff56192a3d
03:04 kid51 joined #parrot
03:13 dalek parrot: r44128 | NotFound++ | trunk (4 files):
03:13 dalek parrot: some fixes to SDL lib and examples
03:13 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44128/
03:14 kthakore YAY!!!
03:15 kthakore SDL fixes
03:15 kthakore oh
03:15 kid51 The branches listed in the system message don't match those in the repository (at least not exactly)
03:15 kid51 Is pcc_reorder_results/ same thing as PCC deprecations?
03:16 kid51 Don't see any branch named MMD or HLL
03:17 nopaste "kid51" at 71.246.117.216 pasted "Current branches in https://svn.parrot.org/parrot/branches/" (19 lines) at http://nopaste.snit.ch/19672
03:19 chromatic yes
03:22 kid51 That's 'yes' re pcc_reorder, correct?
03:35 dalek rakudo/master: 1a05eae | pmichaud++ | docs/announce/2010.02:
03:35 dalek rakudo/master: Add draft 2010.02 release announcement.
03:35 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/1​a05eae9da341e54e4b4f45ccdbd7d9dbe728bbd
03:35 dalek rakudo/master: 9be7890 | pmichaud++ | docs/release_guide.pod:
03:35 dalek rakudo/master: Update release guide to note that we now use dots instead of hyphens
03:35 dalek rakudo/master: for release identifiers.
03:35 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/9​be7890bcfdf885f4b9e0849eadaf26de1fd80d6
03:36 * kid51 wonders if there is a particular TT associated with https://svn.parrot.org/parrot/​branches/pcc_reorder_results/
03:42 kid51 rm_cflags branch:  successful smolder on linux/i386 at r44128:  http://smolder.plusthree.com/app/pu​blic_projects/report_details/32251
03:43 bubaflub joined #parrot
03:46 dalek parrot: r44129 | jkeenan++ | branches/rm_cflags/t/steps/auto/warnings-01.t:
03:46 dalek parrot: Coke has pruned auto::warnings internal subroutines, so we no longer have to test for them.  Eliminate superseded tests.
03:46 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44129/
03:51 woosley joined #parrot
03:57 danlarkin joined #parrot
04:04 Austin_away dukeleto: ping
04:05 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...
04:10 Austin purl, msg Coke If you're still looking at plugins for track, I'd like to see the mscgen plugin get added. (http://trac-hacks.org/wiki/MscgenPlugin)
04:10 purl Message for coke stored.
04:22 myhrlin /quit
04:25 myhrlin joined #parrot
04:33 dalek rakudo/master: b4824f3 | (Solomon Foster)++ | t/spectest.data:
04:33 dalek rakudo/master: Turn on trig tests.
04:33 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/b​4824f3a4cca738dec16a5fea467e1a1471c88be
04:35 eyeisel joined #parrot
04:38 janus joined #parrot
04:47 Austin Isn't the $_PARROT/VERSION file supposed to say 2.1.0?
04:48 Austin It does. So why is mine stuck at .0
04:49 Austin Ahh, because I'm already pointing at branches/2.0
04:52 davidfetter that might account for it
04:52 * davidfetter pulled a similar move yesterday with postgresql :P
04:52 Austin :-P
04:52 Austin Now I'm pointing at branches/2.1, and things are better. :->
05:53 ZeroForce joined #parrot
06:01 dukeleto 'ello
06:02 * dukeleto just got back from a talk about OpenEmbedded and learned lots of useful stuff
06:09 Austin joined #parrot
06:10 Austin Coke: Did any of your config changes make it into trunk yet?
06:10 Austin (Or is my build breaking for a different reason...)
06:12 dukeleto Austin: pong
06:12 dukeleto Austin: full output of what the error is would be helpful
06:13 Austin Hey, duke. I was going to ask you about setup.pir, but I wound up finding distutils, etc.
06:13 Austin The error is "Out of memory!"
06:13 Austin on just about anything to do with pmc2c.pl
06:18 dukeleto Austin: Don't Ire The OOM Killer
06:18 dukeleto Austin: do you have setup.pir working for you?
06:19 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.
06:19 dukeleto is trunk broke?
06:19 Austin See above.
06:20 dukeleto i am testing on my machine now
06:20 Austin It built for me a couple of hours ago.
06:20 Austin But that was then, as they say...
06:22 dukeleto Austin: no out of memory errors here, pmcs were created normally
06:23 dukeleto Austin: what OS+platform? svn or git? which rev?
06:24 Austin andLinux, svn, trunk:HEAD
06:24 dukeleto Austin: HEAD ain't a rev ;)
06:24 dukeleto Austin: r44129 ?
06:25 Austin Yep. Trying again.
06:27 Austin Anyway, what were you saying about plumage?
06:27 Austin Is there a "metadata rev"?
06:30 dukeleto Austin: what do you mean?
06:31 dukeleto 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.
06:31 Austin Is the tapir file up-to-date?
06:31 dukeleto Austin: the tapir file of what? distutils?
06:31 Austin The tapir metadata file for plumage
06:32 dukeleto Austin: the latest distutils lives in parrot core
06:32 Austin http://gitorious.org/parrot-plumage/parrot​-plumage/blobs/master/metadata/tapir.json
06:32 dukeleto Austin: yes
06:33 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"
06:33 dukeleto plumage metadata and setup.pir are independent, so that is fine
06:34 dukeleto 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!
06:35 Austin I hate automatic merges.
06:35 dukeleto Austin: you can go ahead and say that 50 more times
06:35 Austin I hate automatic merges.
06:35 Austin I hate automatic merges.
06:35 Austin I hate automatic merges.
06:36 Austin INIT { pir::load_bytecode('library/kakapo_base.pir'); }    my $message := "I hate automatic merges.\n";  say($message.repeat(50));
06:36 Austin Okay, my out of memory problem is gone.
06:36 Austin (I wonder what that was about...)
06:37 fperrad_ joined #parrot
06:37 Austin What's the difference between the metadata fields "browser_uri" and "project_uri" ?
06:42 dukeleto Austin: don't know. japhb is the person to ask
06:57 jhelwig dukeleto: parrot_debugger can't be any worse than the P5 debugger...
06:58 dukeleto jhelwig: you are right :)
07:01 * davidfetter is more on the printf side of debugging
07:12 dukeleto davidfetter: good place to be :)
07:13 uniejo joined #parrot
07:30 Austin okay, whiteknight goes on the back burner for tomorrow.
07:32 Austin fperrad: ping
07:44 * dukeleto loves 8 core boxen
07:49 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 #parrot
07:52 darbelo joined #parrot
07:59 Austin Stupid git!
07:59 Austin git--
08:00 Austin Thanks for renaming my files for me. I love it when my vc tool breaks my build.
08:12 fperrad_ joined #parrot
08:14 particle joined #parrot
08:16 dalek kakapo: cf4cc52 | austin++ |  (5 files):
08:16 dalek kakapo: Moved src/Pmc/COMMON.nqp to common_methods.nqp so that git would quit breaking my build.
08:16 dalek kakapo: Added setup.nqp. Not done yet.
08:16 dalek kakapo: Signed-off-by: Austin Hastings <Austin_Hastings@Yahoo.com>
08:16 dalek kakapo: review: http://gitorious.org/kakapo/kakapo/commit​/cf4cc526a65b2e8c9a209ac4d3fa011b17ad2769
08:42 * 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:46 dalek TT #1463 created by dukeleto++: PERLDOC environment variable is abused
08:58 dalek parrot: r44130 | dukeleto++ | trunk/config (2 files):
08:58 dalek parrot: [build][TT#1463] Don't use the environment variable PERLDOC, since it is used by perldoc
08:58 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44130/
09:02 dalek TT #1463 closed by dukeleto++: PERLDOC environment variable is abused
09:07 bacek joined #parrot
09:07 lucian joined #parrot
09:10 ruoso joined #parrot
09:12 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.
09:14 moritz that's Perl 6 spec
09:15 Austin Moritz: Really?
09:15 moritz Austin: really.
09:15 Austin At first blush, that seems very unexpected.
09:16 moritz it was unexpected for me too
09:16 Austin I was managing a list of files:   blahblahblah := < \n file \n file2 \n >
09:16 Austin Suddenly, when there was only one file, everything changed.
09:16 moritz and it's one of those points where I'm still not sure if it's a good idea
09:16 Austin What's the point of it?
09:16 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.
09:17 moritz well, in real Perl 6 you'd assign to an array, which would make things more managable
09:17 Austin ?
09:17 moritz (and not bind)
09:17 moritz my @a = <foo>; # works
09:17 TimToady point is that <a> and <a b> are equivalent to ('a') and ('a','b')
09:17 moritz my @a := <foo>; # boom
09:17 Austin Yeah, but < \n a \n >; isn't.
09:18 TimToady that should be ('\n', 'a', '\n')
09:18 moritz depends on whether Austin means literal \n or a newline
09:18 Austin I mean newline
09:18 TimToady that's just whitespace then
09:19 Austin Yeah, and the whitespace is getting bundled along with the filename.
09:19 Austin *AND* the array is getting stripped off.
09:19 Austin It's twice as irksome!
09:19 Austin yay
09:19 TimToady you expect the whitespace as part of the filename?
09:19 moritz wait, the string ends up containing a newline?
09:20 Austin Hell, no.
09:20 Austin I expected it to gobble up the whitespace, split the non-ws bits into an array, and give me the array.
09:20 Austin Instead, I wound up with "\n\t\tsrc/Internals/kakapo_top.pir\n\t"
09:21 moritz the \n\t should not be part of the string
09:21 moritz that's a bug in nqp
09:21 moritz IMHO
09:21 AndyA_ joined #parrot
09:22 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.
09:22 purl Message for pmichaud stored.
09:22 Austin TimToady++
09:22 Austin Thanks for the tip.
09:22 moritz just nqp doesn't implement =
09:22 AndyA_ joined #parrot
09:23 moritz iirc
09:23 TimToady zzz &
09:23 Austin Sadly, trying that: Assignment ("=") not supported in NQP, use ":=" instead at line 7, near " < alfalfa"
09:23 Austin just doesn't work
09:24 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 TimToady but it also gives us literal subscripts like %foo<bar>
09:25 TimToady but I'm up way too late
09:25 TimToady zzz & # really
09:28 bacek joined #parrot
09:31 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.
09:36 fperrad ping Austin
09:36 Austin Hello, francois!
09:39 bacek It's "ç" afair :)
09:39 Austin Oh, sure.
09:39 Austin And me on a US keyboard.
09:39 Austin With no opposable thumbs...
09:41 Austin 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:45 Austin And another nqp bug
09:46 fperrad Austin, (msg2) what is the goal of your sub-step ?
09:47 Austin I'm merging pir files that were generated in the nqp_pir before compiling them in pbc_pir
09:48 Austin *nqp_pir = pir_nqp
09:54 fperrad Austin, you could write (or generate) a small PIR file which includes all generated PIR files
09:55 Austin fperrad: Also, I could (and have) written a little insert-after-sub routine.
09:56 Austin I was thinking something like that would be useful in the API
09:57 fperrad_ joined #parrot
10:08 dalek TT #1464 created by Austin_Hastings++: NQP-rx doesn't handle bare "return" from nested block correctly.
10:12 fperrad Austin, I prefer to add a sub-step pir_pir (which concatenes PIR files) before pbc_pir in distutils.pir.
10:12 fperrad I think this sub-step will be useful to other people.
10:12 Austin Okay.
10:21 fperrad Austin, I don't understand your msg1
10:21 fperrad I know :
10:21 fperrad nqp (in compilers/nqp)
10:21 fperrad nqp-rx (in ext/nqp-rx)
10:21 fperrad now, nqp-rx has 2 flavors ?
10:22 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 http://nopaste.snit.ch/19679
10:23 Austin Sadly, :nqp-rx() is not a valid pair.
10:23 Austin So i was asking if you could add or change a hash key
10:29 fperrad Austin, you want write a setup.nqp instead of a  setup.pir
10:30 Austin I'm about halfway done right now.
10:30 Austin :)
10:32 fperrad_ joined #parrot
10:40 fperrad Austin, could you nopaste your full setup.nqp file
10:41 Austin Sure. Give me a second to stabilize it.
10:42 fperrad_ joined #parrot
10:45 nopaste "Austin" at 68.37.46.53 pasted "Snapshot of Kakapo setup.nqp" (178 lines) at http://nopaste.snit.ch/19680
10:46 fperrad__ joined #parrot
11:20 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 http://nopaste.snit.ch/19681
11:22 nopaste "Austin" at 68.37.46.53 pasted "Current setup.nqp for Kakapo" (187 lines) at http://nopaste.snit.ch/19682
11:22 Austin fperrad++
11:22 Austin Got build, clean to work.
11:22 Austin Now for testing.
11:25 pmichaud joined #parrot
11:28 dalek rakudo/master: 303323e | pmichaud++ | docs/spectest-progress.csv:
11:28 dalek rakudo/master: spectest-progress.csv update: 194 files, 24167 (67.6% of 35727) pass, 0 fail
11:28 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/3​03323eabd65b9ebb9bab82caaf459aac979294a
11:36 Austin Ahh, the wiley and elusive 'harness_files' setting. Tests okay!
11:52 payload joined #parrot
12:19 dalek rakudo/master: fa44b5a | pmichaud++ | src/builtins/Mu.pir:
12:19 dalek rakudo/master: Update .REJECTS to avoid logical_not vtable.
12:19 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/f​a44b5a79deaffb3030ea00d25ca07b1792e22c9
12:31 mj41 is there anybody with rights to update http://www.parrot.org/content​/parrot-testing-status-tools ? See http://www.parrot.org/tags/parro​t-test-testing-status-tool-tools
12:35 nopaste "kthakore" at 99.234.159.149 pasted "I can't seem to build parrot svn trunk" (36 lines) at http://nopaste.snit.ch/19683
12:35 kthakore Austin: any clues ^^
12:36 barney joined #parrot
12:37 ruoso joined #parrot
12:37 Austin kthakore: it's a surprise to me.
12:37 kthakore crap
12:37 kthakore hi ruoso
12:37 Austin There were some stability issues in 2.0, but I thought whiteknight got those hammered out in the last week or so.
12:38 kthakore let me try again
12:38 Austin Have you built the 2.1 tag?
12:38 kthakore no
12:38 kthakore trucnk
12:38 kthakore trunk
12:38 Austin Well, try again, but if trunk fails again, try building $PARROT/tags/RELEASE_2_1_0
12:39 kthakore ok
12:39 kthakore will do
12:39 kthakore thanks
12:39 Austin np
12:45 alin joined #parrot
13:03 bluescreen joined #parrot
13:07 bluescreen joined #parrot
13:15 iblechbot joined #parrot
13:33 lucian joined #parrot
13:42 whiteknight joined #parrot
13:44 whiteknight good morning #parrot
13:44 Austin Good morning, WhiteKnight.
13:44 dalek kakapo: b603e4c | austin++ |  (16 files):
13:45 whiteknight hello Austin, how are you today?
13:45 * Austin ++
13:45 whiteknight that good, huh?
13:45 Austin Now at release 4.
13:45 dalek kakapo: Removed Makefile, etc., replaced with setup.nqp.
13:45 dalek kakapo: Removed plumage metadata. Generated with setup.nqp.
13:45 dalek kakapo: review: http://gitorious.org/kakapo/kakapo/commit​/b603e4c806d446f93a7b2c1a0ded09de4cf11811
13:45 dalek kakapo: 9d13d00 | austin++ | :
13:45 dalek kakapo: review: http://gitorious.org/kakapo/kakapo/commit​/9d13d00f976394f728aee43ed1b68db51585ffa0
13:45 dalek kakapo: 6e824d6 | austin++ | :
13:45 dalek kakapo: review: http://gitorious.org/kakapo/kakapo/commit​/6e824d6d5cac07db46d029abf6d59b9f93df29b2
13:45 Austin With setup.nqp / distutils based configuration.
13:45 whiteknight nice
13:45 shockwave I'm just loggin on too. Good morning #parrot
13:45 Austin I tried to write some test code for you, Whiteknight, but something got in the way.
13:46 Austin I've got some code, but it doesn't run. But the failure didn't seem related to you.
13:46 Austin This is for the namespace keyed stuff
13:46 whiteknight don't worry about it. I added a few stubby tests of my own and merged the branch to trunk
13:46 whiteknight we can add more tests at any time
13:46 Austin We could if they would run :-$
13:47 whiteknight nopaste me the tests? maybe I can take a look at them
13:50 Austin Aha! My problem was running the installed parrot, instead of ./parrot
13:51 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.
13:54 Coke kthakore: sounds like you might need a realclean.
13:54 Coke msg Austin I pinged the OSU admins for that trac module for you.
13:54 purl Message for austin stored.
13:58 kthakore Coke: thanks
14:01 japhmalik joined #parrot
14:01 plobsing joined #parrot
14:08 nopaste "Austin" at 68.37.46.53 pasted "Test cases for TT#1449" (975 lines) at http://nopaste.snit.ch/19684
14:08 Austin Whiteknight: Some of these are surprising, some of them may be edge cases.
14:12 dalek pynie: r104 | allisonrandal++ | trunk/s (3 files):
14:12 dalek pynie: Fix dictionaries so they appear as the 'dict' type, and so they
14:12 dalek pynie: stringify correctly.
14:12 dalek pynie: review: http://code.google.com/p/pynie/source/detail?r=104
14:13 whiteknight Austin: I'll look into them today
14:14 nopaste "Austin" at 68.37.46.53 pasted "Less bugs: Test cases for TT#1449" (975 lines) at http://nopaste.snit.ch/19685
14:14 particle joined #parrot
14:14 Austin Whiteknight: okay.
14:27 dalek pynie: r105 | allisonrandal++ | trunk/Grammar/Grammar.pg:
14:27 dalek pynie: Allow parsing of lvalue dictionary keys.
14:27 dalek pynie: review: http://code.google.com/p/pynie/source/detail?r=105
14:28 cosimo joined #parrot
14:40 dalek rakudo/master: bf29be0 | (Solomon Foster)++ | src/core/ (5 files):
14:40 dalek rakudo/master: Optimize Any!to-radians and Any!from-radians, switch default base to Radians (instead of 'radians').
14:40 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/b​f29be00b05b837267c5261c92a1f9490fa5fa1e
14:40 dalek rakudo/master: 60c14fe | (Solomon Foster)++ | src/cheats/constants.pir:
14:40 dalek rakudo/master: Add Radians, Degrees, Gradians, and Circles to emulate what TrigBase will look like when enums are available.
14:40 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/6​0c14fed7ce1aaa61c25fadc12b9666bdf5cd96c
14:41 dalek parrot: r44131 | whiteknight++ | trunk (4 files):
14:41 dalek parrot: remove the PASM1 compreg
14:41 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44131/
14:48 dalek TT #872 closed by whiteknight++: Deprecate PASM1 compiler and PDB_compile function
14:52 Coke that ticket is explicitly mentioned elsewhere in DEPRECATED.pod.
14:53 Coke er, whiteknight:
14:53 Coke (also, I /just/ stole that ticket to work on. =-)
14:55 particle joined #parrot
15:01 dalek pynie: r106 | allisonrandal++ | trunk/ (2 files):
15:01 dalek pynie: Add tests for dictionaries.
15:01 dalek pynie: review: http://code.google.com/p/pynie/source/detail?r=106
15:02 lucian joined #parrot
15:04 nopaste "shockwave" at 76.119.137.239 pasted ".sub 'foo' :method $P0 = getat" (4 lines) at http://nopaste.snit.ch/19687
15:05 shockwave I pasted a small sub here: http://nopaste.snit.ch/19687
15:05 whiteknight joined #parrot
15:06 dalek pynie: r107 | allisonrandal++ | trunk/runtests.py:
15:06 dalek pynie: Disable test that doesn't actually run in Python3.
15:06 dalek pynie: review: http://code.google.com/p/pynie/source/detail?r=107
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?
15:06 shockwave The code I posted compiles fine.
15:09 Austin_away ERm, no.
15:10 Austin_away 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:11 shockwave oh, you're right. I have to use setattribute, right?
15:12 shockwave 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.
15:12 Coke you probably don't even need the get if you're just overriding it.
15:12 Coke s/probably//
15:13 shockwave true
15:13 nopaste "Austin" at 68.37.46.53 pasted "attribute madness" (15 lines) at http://nopaste.snit.ch/19688
15:14 Austin you either have to store the new pmc using setattribute, or you have to use pmc assignment, like $P0 = call(); $P1 = $P0
15:15 Coke Austin: ... what is the problem you're trying to point out in your nopaste?
15:15 Coke (and what are S0 and P2 for?)
15:15 Austin Coke: Pointing out to shockwave that what he's trying don't wrok
15:15 Austin *work
15:16 whiteknight not wroking? That's unpossible!
15:16 shockwave I think I understand what I should be doing. Updating code right now.
15:20 Austin Alright. I'm going to get outside some comestibles...
15:21 Coke cheesy?
15:21 purl i heard cheesy was good too. or http://news.bbc.co.uk/1/hi/engl​and/leicestershire/4761989.stm
15:21 shockwave outside? What is that?
15:25 shockwave I'm surprised setattribute doesn't autobox it's third param, if it's not a PMC. It fails instead.
15:27 dalek rakudo/master: 43909a0 | jonathan++ | src/ (2 files):
15:27 dalek rakudo/master: 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 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/4​3909a0321bea0f86cef90f979cf652a1e200f12
15:27 dalek rakudo/master: fec6ec9 | jonathan++ | t/spectest.data:
15:27 dalek rakudo/master: Turn S12-introspection/parents.t back on.
15:27 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/f​ec6ec9fa036ee3c200e5ee5bd9f7380c32ccb78
15:31 dalek parrot: r44132 | fperrad++ | trunk/runtime/parrot/library/distutils.pir:
15:31 dalek parrot: [distutils] create an alias of pir_nqp-rx key (nqp doesn't like hyphen)
15:31 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44132/
15:35 whiteknight shockwave: opcodes are never very smart. They are designed to be simple and limited
15:35 shockwave whiteknight, good enough explanation to me.
15:37 whiteknight each opcode is very specific in it's arguments. So setattribute is actually "setattribute_p_s_p"
15:38 whiteknight we would need to write three new opcodes to pretend to do autoboxing
15:38 dalek rakudo/master: 181d5f9 | pmichaud++ | src/core/Any-num.pm:
15:38 dalek rakudo/master: Refactor to-radians and from-radians to use a pre-initialized array.
15:38 dalek rakudo/master: Gives us a ~10% speedup in the sin.t test.
15:38 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/1​81d5f96b77b84a1673c8c2fe0a661a0f7221704
15:38 dalek rakudo/master: dbaa79b | pmichaud++ |  (3 files):
15:38 dalek rakudo/master: Merge branch 'master' of git@github.com:rakudo/rakudo
15:38 whiteknight setattribute_p_s_i, setattribute_p_s_s, setattribute_p_s_n
15:38 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/d​baa79b742d312e5db1f0fbcd61b0c9a1d15b0c0
15:39 whiteknight to really get an understanding of how ops work, take a look at src/ops/set.ops sometime
15:39 theory joined #parrot
15:39 shockwave cool
15:42 nopaste "pmichaud" at 66.25.4.52 pasted "This program (and many others) leaks memory without bound" (5 lines) at http://nopaste.snit.ch/19689
15:42 shockwave whiteknight, what is that src/ops directory?
15:42 shockwave I'm looking at set.ops
15:43 whiteknight those are the opcode bodies
15:43 shockwave It's a language that looks like C and PIR combined.
15:43 whiteknight it's C, but it's preprocessed by a perl script ops2c.pl
15:43 whiteknight that turns it into "real" C, which is compiled
15:43 shockwave oh, I see.
15:46 jsut_ joined #parrot
15:47 dalek parrot: r44133 | whiteknight++ | trunk/DEPRECATED.pod:
15:47 dalek parrot: remove note about TT #159 from DEPRECATED.pod
15:47 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44133/
15:47 dalek parrot: r44134 | whiteknight++ | branches/parrot_call_dep:
15:47 dalek parrot: creating a branch to remove Parrot_call_* functions as per TT #1145
15:48 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44134/
15:49 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:50 whiteknight Coke: one step at a time
15:51 bubaflub joined #parrot
15:52 NotFound shockwave: opcodes doesn't do autoboxing. Some have variants that deal with different types.
15:54 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 #parrot
15:54 Coke (there are 2 functions that also need to be ripped out as part of that ticket.)
15:54 whiteknight which two functions?
15:55 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.
15:55 whiteknight ok
15:55 NotFound Or even harder, what if the attribute is defined in a parent class in a different HLL?
15:55 Coke the part you pulled out referenced this snippet, which was the one that had the actual TT ref.
15:56 whiteknight ok
15:56 shockwave NotFound, sounds difficult. I was able to handle the generated code.
15:56 Coke looks like rip out one function, fix the other.
15:57 Coke NotFound: I think the answer to that question in, the HLL mapping of the code /currently being executed/
15:57 Coke s/\bin\b/is/
15:59 NotFound Coke: yes, but I'm sure that will lead to lots of confusions.
16:01 Coke NotFound: no doubt.
16:01 Coke but I'm pretty sure that was the answer I got the last time we talked about HLL interop.
16:02 NotFound Looks like no one has tried to implement that. There is some ticket?
16:04 Coke tene is/was the hll interop guy. I'd bug him. =)
16:05 kurahaupo joined #parrot
16:06 cotto_work good morning
16:06 purl What's so good about it?
16:07 kurahaupo_mobi Good morning
16:07 purl What's so good about it?
16:07 kthakore Coke: that worked thanks
16:07 kthakore purl: your mom
16:07 purl pemungkah's mother is a saint! or capable of multiplexed I/O.
16:07 kurahaupo_mobi Purl: it's dark
16:07 purl kurahaupo_mobi: i'm not following you...
16:08 cotto_work it is very dark
16:09 cotto_work Strange. I'd expect the proper response for something like that.
16:09 Coke grue?
16:09 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
16:10 cotto_work yea
16:10 cotto_work yeah
16:10 Coke I preferred HHGTTG and LGOP.
16:11 dalek TT #1465 created by pmichaud++: Parrot GC leaks memory for basic programs
16:11 cotto_work lgop?
16:11 cotto_work Memory leaks?  That's unpossible.
16:12 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 http://nopaste.snit.ch/19690
16:15 NotFound Looks like we have 1302 opcodes in core.
16:16 whiteknight yeah, it's a ton
16:17 whiteknight Awesome test program. I';m glad it works
16:18 iblechbot joined #parrot
16:19 NotFound I hope to be able to write a disassembler soon.
16:23 nbrown_ joined #parrot
16:31 mj41 I have old one http://trac.parrot.org/parrot/ticket/706 but not sure if it is "real" leak.
16:31 whiteknight joined #parrot
16:35 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:36 dalek rakudo/master: cb56224 | jonathan++ | docs/announce/2010.02:
16:36 dalek rakudo/master: Tweaks to release announcement.
16:36 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/c​b56224b3f54545850e7fbee9762172ead368cf7
16:37 dalek parrot: r44135 | fperrad++ | trunk/runtime/parrot/library/distutils.pir:
16:37 dalek parrot: [distutils] add option pir_pir which allows to concat files
16:37 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44135/
16:40 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 http://nopaste.snit.ch/19692
16:42 Coke cotto_work: ... I read that as "the memory leak occurs where we allocate memory."
16:43 pmichaud cla?
16:43 purl cla is Contributor License Agreement or http://www.perlfoundation.org/​contributor_license_agreement or http://www.parrot.org/foundation/legal or http://www.parrot.org/files/parrot_cla.pdf
16:43 cotto_work Valgrind isn't smart enough to figure out when we need to free it.
16:44 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.
16:46 fperrad msg Austin pir_pir in distutils (see r44135)
16:46 purl Message for austin stored.
16:53 dalek parrot: r44136 | whiteknight++ | branches/parrot_call_dep (8 files):
16:53 dalek parrot: remove all instances of Parrot_call_* from the repo and replace with Parrot_ext_call where appropriate. Documentation is lacking a replacement
16:53 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44136/
16:53 dalek rakudo/master: 84d6b02 | masak++ | src/Perl6/Grammar.pm:
16:53 dalek rakudo/master: [Grammar.pm] slight wording fix
16:53 dalek rakudo/master: The current terminlology doesn't include 'nouns' anymore :)
16:53 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/8​4d6b0292b3776ae460ab4d7030cd8a52ac854a4
17:10 dalek parrot: r44137 | whiteknight++ | trunk (2 files):
17:10 dalek parrot: 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 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44137/
17:11 bacek joined #parrot
17:17 dalek TT #1466 created by whiteknight++: Debugger "eval" instruction needs to be implemented
17:17 dalek TT #872 closed by whiteknight++: PASM1 compiler and PDB_compile function
17:20 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 kthakore left #parrot
17:21 payload joined #parrot
17:26 dalek parrot: r44138 | NotFound++ | trunk/src/pmc/opcode.pmc:
17:26 dalek parrot: method op_count in Opcode PMC
17:26 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44138/
17:38 whiteknight NotFound: what does that value contain?
17:38 NotFound whiteknight: lenght of opcode + args
17:39 whiteknight okay, that seems poorly named
17:40 whiteknight command_length seems more accurate
17:40 NotFound whiteknight: just used the same name as the op info struct
17:40 whiteknight yeah, i know. I'm thinking we should pick a better name
17:40 NotFound Agree, but better to also rename the struct member to agree.
17:40 whiteknight +1
17:40 purl 1
17:41 whiteknight next up, I think we need a method to get an array of flags
17:41 whiteknight for the args
17:41 whiteknight and once we have that, we can add a method to "Compile" the op, given a :slurpy list of args
17:41 shockwave Is cotto_work working for Microsoft?
17:42 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 #parrot
17:42 shockwave whiteknight, interesting.
17:42 whiteknight NotFound: yes, extremely experimental
17:42 whiteknight NotFound: but definitely has potential use
17:42 NotFound Good, let's play with it
17:43 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.
17:43 whiteknight freedom from what?
17:43 NotFound To experiment.
17:43 NotFound From policy.
17:44 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 #parrot
17:46 whiteknight I think $P0 = opcode.GetFlags() should return an FIA with the arg flags for the op
17:47 whiteknight from that we can get the count of args (length of the array), and info about each arg
17:47 cotto_work joined #parrot
17:47 whiteknight and once we have that info available, there is nothing standing in the way of a full compiler
17:48 NotFound whiteknight: I'm splicing the op name for a now.
17:49 cotto_work shockwave, yup.
17:49 NotFound Uh, some opcodes don't follow the rule.
17:50 whiteknight what rule?
17:50 purl rule is no public away messages. or USUALLY: people are stupid
17:50 NotFound The args suffixes
17:50 whiteknight what do you mean?
17:51 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?
17:51 NotFound And _pc according the rules is just one.
17:52 NotFound So the quick and dirty way I was using doesn't work.
17:53 NotFound We need that GetFlags method.
17:53 cotto_work shockwave, nope.  I'm in MS' Open Source Technology Center.
17:53 shockwave cotto_work, so MS is basically donating your time?
17:55 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 cotto_work (or other OSS projects)
17:56 shockwave cotto_work, that sounds pretty cool.
17:57 NotFound cotto_work: Are you going to install parrot in some windows phone?
17:59 NotFound cotto_work: if not, tell MS that we have it working on Maemo :P
17:59 dalek parrot: r44139 | plobsing++ | trunk/src (2 files):
17:59 cotto_work Heh.  I haven't seen any sekrit phones.
17:59 dalek parrot: headerier + ASSERT_ARGS() to satisfy codetest
17:59 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44139/
18:12 whiteknight NoFound: oh, right. those parameters are a huge pain in the ass
18:12 whiteknight we should have some kind of flag to mark ops that are variadic
18:15 dalek winxed: r413 | julian.notfound++ | trunk/examples/packfile.winxed:
18:15 dalek winxed: start of a pbc disassembler, works only for simple code, requires parrot r44138
18:15 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=413
18:15 NotFound whiteknight: this is what I have for a now
18:16 darbelo joined #parrot
18:17 whiteknight nice
18:17 whiteknight NotFound++
18:17 kthakore joined #parrot
18:17 NotFound It shows that the packfile and op PMCs have a lot of potential.
18:23 dalek TT #1467 created by darbelo++: Deprecate the digest dynpmcs.
18:24 kthakore I am having trouble running parrot examples from the site
18:26 cotto_work kthakore, which examples
18:26 dalek rakudo/master: 968011b | pmichaud++ | src/cheats/setup-io.pm:
18:26 dalek rakudo/master: Default $*IN, $*OUT, $*ERR to utf8 encoding.
18:26 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/9​68011bae8827b063b4776fd87a0a0aec5bde971
18:27 kthakore cotto_work: the one to load random.pbc
18:27 kthakore I can't seem to find the page
18:27 cotto_work can you nopaste?
18:28 kthakore sure
18:28 kthakore what is the link again?
18:28 cotto_work nopaste?
18:28 purl nopaste is at http://nopaste.snit.ch/ (ask TonyC for new channels)  or http://paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at http://www.extpaste.com/ or http://paste.scsys.co.uk (for #catalyst, #dbix-class, #moose  and others) or http://gist.github.com/ or paste or gtfo or tools/dev/nopaste.pl or https://trac.parrot.org/parrot/br​owser/trunk/tools/dev/nopaste.pl
18:30 nopaste "kthakore" at 199.198.223.108 pasted "parrot example" (18 lines) at http://nopaste.snit.ch/19694
18:30 kthakore cotto_work: that one
18:30 purl that one is probably fairly new
18:32 chromatic joined #parrot
18:32 nopaste "kthakore" at 199.198.223.108 pasted "parrot example SDL" (34 lines) at http://nopaste.snit.ch/19695
18:32 kthakore cotto_work: and that one
18:32 purl i think that one is fairly new
18:33 kthakore cotto_work: am I running them worn?
18:33 kthakore hi chromatic
18:33 NotFound kthakore: most SDL examples are broken, I fixed some of them yesterday
18:33 kthakore NotFound: which ones work?
18:33 NotFound Let me check...
18:34 plobsing kthakore: the second one is broken because bytecode must be wrapped in a '.sub / .end'
18:34 kthakore plobsing: oh ok
18:34 kthakore the example didn't say that
18:34 NotFound move_parrot_logo and bounce_parrot_logo, for example.
18:34 kthakore ok
18:35 NotFound Also, we'll probably change all that 'SDL::xxx' to ['SDL'; 'xxx']
18:36 kthakore um ok
18:36 kthakore how do I point the SDL of parrot to look for libSDL_image in sdl-config defined location
18:36 NotFound So if you write some code that works now, expect to have to change it soon.
18:37 kthakore NotFound: when will you be working on SDL parrot?
18:37 kthakore hopefully I can help out
18:37 NotFound kthakore: I'm hardly previsible ;)
18:37 kthakore NotFound: oh ok
18:37 kthakore so for SDL parrot who do I talk to>
18:37 kthakore to?
18:37 purl well, to is Tonga Islands
18:38 kthakore purl: to is Toronto
18:38 purl ...but to is Tonga Islands...
18:38 kthakore no
18:38 kthakore lies
18:38 NotFound kthakore: looks like no one is committed to it, some of use make little fixes sometimes.
18:39 kthakore NotFound: ok ... well I am commited to it but I am trying to get it to work first
18:39 kthakore NotFound: how do I make modules and stuff?
18:40 kthakore I see SDL.pir which is the NCI I guess
18:40 kthakore but is everything hooked into it Image, Mixer so on?
18:40 kthakore or is it modular
18:40 kthakore also how do you guys handle callbacks and threaded callbacks?
18:41 plobsing kthakore: not very well. see src/glut_callbacks.c
18:41 plobsing it's the solution opengl uses ATM
18:41 NotFound kthakore: I don't have a full view, just fixed things that where clearly wrong or outdated.
18:41 kthakore oh ok
18:42 kthakore plobsing: oh ...
18:42 NotFound I think the architect of the thing was chromatic, some time ago.
18:42 kthakore chromatic: ping?
18:43 kthakore 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
18:43 whiteknight what is SDL?
18:43 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*
18:44 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.
18:44 kthakore right
18:44 kthakore how do I do that!
18:44 kthakore is there a Module maker or something?
18:45 kthakore 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 http://gitorious.org/parrot-plumage/parrot-plumage and the design docs are at https://trac.parrot.org/pa​rrot/wiki/ModuleEcosystem
18:45 NotFound kthakore: http://trac.parrot.org/parrot/wiki/ModuleEcosystem
18:45 kthakore NotFound: thank you!
18:45 * kthakore huggles NotFound
18:45 darbelo kthakore: If you use destutils.pir you'll be lumage-ready pretty much for free.
18:46 kthakore darbelo: I am sorry not sure what that means?
18:47 kthakore make a folder with SDL.pir and destutils.prir?
18:47 darbelo parrot ships a pir library that handles building parrot-based projects.
18:47 kthakore darbelo: how do I tell SDL.pir where the dlls are located and stuff like that?
18:48 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?
18:49 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,
18:49 whiteknight set_args, get_params, set_returns get_results?
18:49 whiteknight that seems like a decent list
18:50 chromatic Are those variadic?
18:50 darbelo we have a mk_language_shell.pl script in tools/dev
18:50 NotFound At least a good start
18:50 darbelo It's rather HLL-centric, but provides a good start to get familiar with the tools.
18:51 kthakore darbelo: ok
18:51 NotFound chromatic: they eat more opcodes than declared in op_count
18:51 darbelo An even simpler example is the setup.pir I wrote at http://gitorious.org/digest-dynpmcs/d​igest-dynpmcs/blobs/master/setup.pir
18:51 darbelo That one *only* builds a dynpmc group.
18:52 kthakore so I can't swap SDL in there?
18:54 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?
18:54 plobsing arg. svn merge keeps stalling out.
18:54 plobsing svn--
18:55 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
18:56 kthakore so it looks there
18:56 NotFound kthakore: I think I can fix that now. Let me check...
18:57 kthakore NotFound: oooh cool
18:57 NotFound I think the easy and portable way will be an environment var... SDLLIBPATH, for example
18:57 kthakore sure or you can just check sdl-config
18:58 kthakore that is the sure fire way
18:58 kthakore can parrot eval?
18:58 NotFound kthakore: that will be better done with a configure tool during install. I just look for a quick fix now.
18:59 kthakore oh ok
19:00 NotFound Anyway sdl-config --libs gives info for a linker, not for dynamic loading.
19:01 dalek rakudo/master: 0fabacb | (Martin Berends)++ | docs/ChangeLog:
19:01 dalek rakudo/master: [docs/ChangeLog] draft of the 2010.02 entry
19:01 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/0​fabacb626289411a45d28133423c35bcbb62353
19:01 kthakore NotFound: what do you mean? oh right ... you don't compile anything
19:01 davidfetter joined #parrot
19:02 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.
19:02 purl Message for allison stored.
19:02 kthakore and regex our -I stuff
19:03 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?
19:04 chromatic Yes.  It doesn't.
19:04 kthakore hehe
19:04 shockwave chromatic, Do you know if plans are in the works to add it, or that's a no-go?
19:04 whiteknight chromatic: I'd like to get your input on TT #1468, if you have a moment
19:05 chromatic shockwave, that's the Lorito project.
19:05 chromatic whiteknight, I'm all for the CallArguments PMC.
19:06 chromatic 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
19:06 chromatic Exactly.
19:06 cotto_w0rk joined #parrot
19:07 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
19:07 cotto_w0rk shockwave, it's still primarily in people'
19:08 cotto_w0rk s heads
19:08 shockwave dang
19:08 chromatic Exactly.
19:09 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:10 cotto_w0rk 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,
19:10 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
19:11 cotto_w0rk +1 to that.
19:11 dukeleto 'ello
19:11 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.
19:11 dukeleto +1 to  lorito-specific meeting
19:11 cotto_w0rk 'hi
19:11 shockwave Though, more speed never hurts.
19:11 shockwave (Unless your falling from a plane)
19:13 cotto_w0rk Figuring out an initial op set and a good way to deal with C types would be a good start.
19:14 dalek TT #1468 created by whiteknight++: variadic opcodes make assembly/disassembly difficult
19:14 whiteknight cotto_w0rk: that's a good point
19:16 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
19:17 * Coke wishes again that he could be paid to hack on parrot.
19:18 cotto_work That'd be a pretty sweet job.
19:18 kthakore Coke: I will send you a penny
19:18 kthakore Coke: is that enough?
19:18 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.
19:19 Coke if the games are fun, I'll buy a copy. =-)
19:19 kthakore Coke: that would cost you twice?
19:19 shockwave That means it would be free to him.
19:19 shockwave He sends me the money, and I send it back.
19:19 kthakore Coke: he should pay you in games thus cutting out the middle mand
19:20 NotFound And he also get your penny.
19:20 kthakore Coke: not a bad deal you have there sir
19:20 kthakore a shiny penny and fun games!
19:20 Coke kthakore: have we met at a yapc?
19:20 kthakore nope not yet
19:21 Coke k. I was thinking 2 years ago (more?) in houston.
19:21 kthakore I have been using my vacations for exam writing :(
19:21 Coke just trying to match faces to nicks.
19:21 Coke ... I think I'll put together a page with some gravatars on the wiki.
19:21 kthakore Coke: no I just started working on perl some 6 months
19:22 kthakore Coke: my gravtar is not my face
19:22 kthakore or it could be
19:22 kthakore Coke: http://github.com/kthakore
19:22 chromatic Coke, you're thinking of Krishna.
19:22 Coke rant: trac doesn't have an easy way to create a new wiki page.
19:23 Coke chromatic: with the gloves?
19:23 chromatic yes
19:23 Coke ... all these hard-k names sound the same to me, kromatic.
19:23 kthakore chromatic: I thought that was mario
19:23 dalek parrot: r44140 | NotFound++ | trunk/runtime/parrot/library/SDL.pir:
19:23 dalek parrot: [lib] provide location of SDL lib by env var SDLLIBPATH
19:23 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44140/
19:23 kthakore yay!
19:24 NotFound dalek is being slow
19:25 Coke NotFound: did you mean to print something out there?
19:25 NotFound Coke: yes
19:25 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32262), fulltest) at r44139 - Ubuntu 9.10 amd64 (gcc with --optimize)
19:25 kthakore NotFound: nope doesn't work
19:25 kthakore :|
19:26 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
19:26 kthakore ah ok
19:27 kthakore NotFound: I am using /usr/local/lib/libSDL.so right?
19:27 whiteknight cotto_work: chromatic has mentioned the smalltalk VM in the past
19:27 chromatic cotto_work, either Dis (Plan 9) or Squeak (Smalltalk).
19:27 NotFound kthakore: that's the idea, yes. Works in linux.
19:27 kthakore crap
19:27 whiteknight I'm thinking LLVM might also be good too, though we want significantly less complexity
19:28 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
19:29 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 whiteknight anything more complicated can happen in C functions
19:29 Coke Feel free to add your gravatar link to wiki:ParrotFaces
19:30 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 whiteknight ...and everything more complicated can happen in C functions
19:30 kthakore NotFound: which example are you running?
19:31 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: http://www.vitanuova.com/inferno/papers/dis.html
19:31 whiteknight chromatic: exactly. And we also don't have to support all the thousands of addressing modes that x86 does
19:31 NotFound kthakore: One that doesn't use images? blue_rect.pir, I suppose.
19:32 kthakore ok
19:32 NotFound Or raw_pixels.pir
19:32 kthakore YAY!!!
19:32 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.
19:32 kthakore NotFound: thanks
19:32 NotFound Glad to help
19:33 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?
19:33 chromatic I hope we don't have many C functions.  That defeats the purpose.
19:34 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.
19:35 chromatic Provided we can JIT those base ops accordingly, yes.
19:36 NotFound kthakore: the module is just that, a bunch of files intended to be used together.
19:36 dalek tracwiki: v156 | coke++ | WikiStart
19:36 dalek tracwiki: http://trac.parrot.org/parrot/wiki/W​ikiStart?version=156&amp;action=diff
19:36 dalek tracwiki: v1 | coke++ | ParrotFaces
19:37 dalek tracwiki: http://trac.parrot.org/parrot/wiki/P​arrotFaces?version=1&amp;action=diff
19:37 kthakore NotFound: ok thanks
19:37 kthakore I am going to build on the existing SDL.pir
19:37 kthakore see where it goes
19:41 whiteknight chromatic: we need API functions in any case for extending/embedding
19:42 whiteknight 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 whiteknight option (b) will be very painful if we don't gain a dozen new dedicated developers
19:42 dalek parrot: r44141 | plobsing++ | failed to fetch changeset:
19:42 dalek parrot: merge branch opengl_dynamic_nci
19:42 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44141/
19:43 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. =-)
19:43 chromatic If we end up with a whole pile of backing C code, we'll stay in the same mess we have today.
19:44 chromatic Anyone want to put out 2.1.1 with a fix for this GC memory leak?
19:44 cotto_work yuu have a fix?
19:44 tewk whiteknight, move c code to close and compile that to lorito ops.  Or heck compile C to lorito ops.
19:44 Coke Haz you a fix? seems like a reasonable thing to do.
19:45 chromatic Yep, running fulltest now.
19:45 Coke I can scrape some time together tonight to cut a release, sure.
19:45 Coke I'll need someone to upload the ftp tarball.
19:45 particle start a branch, get news et al worked on by the hoardes
19:45 chromatic I think the Rakudo folks will appreciate that.
19:45 * cotto_work volunteers
19:45 purl volunteers are FRESH MEAT! MUAHAHAHAHA
19:45 Coke purl++
19:45 Coke # and I don't often do that.
19:45 particle :)
19:47 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
19:47 Coke pmichaud: note that this means that 2.1.1. will not exist on trunk. =-)
19:47 chromatic Will do.
19:47 whiteknight either case is resource intensive on our developer hours
19:48 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
19:50 chromatic Coke, r44142.
19:50 Coke chromatic: danke.
19:54 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?
19:55 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:57 dalek parrot: r44142 | chromatic++ | trunk/src/gc (2 files):
19:57 dalek parrot: [GC] Tuned the GC tuning commit of r43939 so that pools which have exceeded
19:57 dalek parrot: their maximum arena size now always cause a GC run when they run out of free
19:57 dalek parrot: headers.  This answers the question "Who tunes the tuners?"  Unfortunately,
19:57 dalek parrot: it's me, when #perl6 notices.
19:57 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44142/
19:57 dalek parrot: r44143 | coke++ | branches/release_2_1_1_RC:
19:57 dalek parrot: Work on a 2.1.1 bugfix release for rakudo, et al.
19:57 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44143/
19:57 dalek parrot: r44144 | coke++ | branches/release_2_1_1_RC/src/gc (2 files):
19:57 dalek parrot: Apply r44142 from trunk to resolve memory leak.
19:57 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44144/
19:58 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. =-)
19:58 Coke docs/parrothist.pod says Feb 26, not 16. =-)
19:59 * darbelo facepalms
19:59 cotto_work So it was released in the future?
19:59 chromatic From a flying car.
19:59 * cotto_work feels tense
20:00 chromatic Why?  The future is where we shall spend... THE REST OF OUR LIVES.
20:00 darbelo Not if my time machine succeeds!
20:01 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"
20:01 darbelo ok.
20:03 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
20:03 Coke https://svn.parrot.org/parro​t/branches/release_2_1_1_RC
20:03 NotFound if (*(op) == PARROT_OP_set_args_pc || *(op) == PARROT_OP_set_returns_pc)
20:03 darbelo It fits my luck that I name a release 'As scheduled' and the screw up the dates...
20:03 whiteknight NotFound: oh noes!
20:03 whiteknight that's horrible
20:03 whiteknight we need a flag
20:04 NotFound src/debug.c:2756
20:04 whiteknight Better yet, we need TT #1468 and fix those damn ops once and for all
20:04 Coke darbelo: the irony was not lost on me!
20:04 chromatic Coke, can you make a dummy tarball and put it up somewhere for the Rakudo people to test against?
20:04 Coke 2.1.1 will follow my semi-tradition and be named STRINGNULL
20:05 Coke chromatic: if that will help, sure.
20:06 NotFound If I understand that code, the way to know the number of args that follows is to parse the signature?
20:08 NotFound MMm... looks like the length of the const PMC will be enough.
20:08 NotFound The 'elements', I mean.
20:08 NotFound Will try that.
20:08 cotto_work The list of release managers at the top of docs/parrothist.pod is a bit dated.
20:09 chromatic NotFound, that's what the ops do -- they call elements.
20:10 dalek digest-dynpmcs: 2b08b5f | darbelo++ | src/pmc/ (6 files):
20:10 dalek digest-dynpmcs: Remove svn $Id" fields.
20:10 dalek digest-dynpmcs: review: http://gitorious.org/digest-dynpmcs/digest-dynpmc​s/commit/2b08b5f2c265f33d41fb32af948391f55f0411a9
20:12 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:13 particle parrot 2.1.1, "--gc-debug"
20:14 cotto_work Does that mean you're volunteering for a release?
20:14 dalek parrot: r44145 | coke++ | branches/release_2_1_1_RC (7 files):
20:14 dalek parrot: update version information for a potential 2.1.1 release
20:14 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44145/
20:14 dalek parrot: r44146 | darbelo++ | trunk/docs/parrothist.pod:
20:14 dalek parrot: Fix tha date for the 2.1 release.
20:14 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44146/
20:16 AndyA_ joined #parrot
20:22 dalek TT #1469 created by darbelo++: Deprecate the gdbmhash dynpmc.
20:28 NotFound Nice, now is able to disassemble the winxed compiler :)
20:28 whiteknight shockwave: ping
20:28 shockwave whiteknight, pong
20:29 whiteknight shockwave: is your compiler project hosted publicly?
20:29 whiteknight I would like to see it, if it's available
20:30 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
20:30 shockwave Sorry, my girlfriend's mom called.
20:30 shockwave whiteknight, I can send it to you, if you like.
20:30 dukeleto shockwave: just don't let it happen again ;)
20:31 whiteknight shockwave: that would be nice. It's not public yet?
20:31 shockwave whiteknight, what specifically are you looking to see?
20:31 whiteknight shockwave: I just lke seeing new project
20:31 Coke ugh. t/examples/tutorial.t ... ok
20:31 Coke sh: line 1: 11559 Segmentation fault      (core dumped) ./parrot -o /dev/null /tmp/cZbMud8Ezg.pir 2> /tmp/Zsp5RHbOgo.err
20:31 AndyA_ joined #parrot
20:31 Coke but, all tests pass.
20:31 purl Time to write more tests!
20:32 dukeleto purl++
20:32 dalek winxed: r414 | julian.notfound++ | trunk/examples/packfile.winxed:
20:32 dalek winxed: improve disassembler in example packfile, requires parrot r44138 or later
20:32 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=414
20:32 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.
20:32 shockwave dukeleto, haha
20:33 shockwave 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.
20:33 dukeleto cotto_work: they were still release managers in the past, no?
20:33 Coke http://feather.perl6.nl/~coke/parrot-2.1.1.tar.gz
20:34 whiteknight NotFound: awesome
20:34 cotto_work Coke, should that be uploaded or is it just the temporary one.
20:34 cotto_work ?
20:34 Coke that's the RC.
20:34 whiteknight shockwave: wknight8111 at gmail
20:34 dukeleto did i miss a meeting? what is 2.1.1 about?
20:34 Coke wait for it.
20:34 Coke dukeleto: http://trac.parrot.org/parrot/ticket/1465
20:34 chromatic dukeleto, a GC bug in 2.1.
20:34 particle dukey: gc dix
20:35 dukeleto particle: dukey, eh? Can I call you wavey?
20:35 particle ~~
20:35 darbelo I suck at relesing parrots, so they got Coke to do it right ;)
20:36 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.
20:36 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.
20:36 shockwave oh, ok. I'll package it now, then.
20:37 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.
20:37 Coke er, M.
20:37 dukeleto where is the diff of the actual fix to the GC bug?
20:37 chromatic dukeleto, r44142.
20:37 Coke http://trac.parrot.org/parrot/changeset/44142
20:38 dukeleto chromatic++ coke++
20:38 Coke also: http://trac.parrot.org/parrot/br​owser/branches/release_2_1_1_RC
20:39 Coke http://trac.parrot.org/parrot/​log/branches/release_2_1_1_RC is probably better.
20:40 whiteknight nice
20:40 Coke rakudo folks are (presumably) testing now. we can cut the release this evening.
20:40 dalek rakudo/master: d41ed4c | jonathan++ | src/ (5 files):
20:40 dalek rakudo/master: 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.
20:40 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/d​41ed4c2330630dbf05ff1f65761547c628862e1
20:40 dalek rakudo/master: 10e5b56 | jonathan++ | src/ (3 files):
20:40 dalek rakudo/master: First cut of binding a signature against the return values of a function. Kinda works. :-)
20:40 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/1​0e5b5698f8c4c1f8323ee15dd632326d88f664a
20:40 dalek rakudo/master: 83542c0 | jonathan++ | src/ (2 files):
20:40 dalek rakudo/master: Handle sub-signatures in returns so we can do unpacking, plus other little tweaks.
20:40 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/8​3542c05ff3762b72d88cce708145951276e3353
20:40 dalek rakudo/master: 3ad4e2c | jonathan++ | src/ (5 files):
20:40 dalek rakudo/master: Merge branch 'bindrets'
20:40 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/3​ad4e2cea54ffe06995d76212b7075990d47de18
20:41 davidfetter speaking of releases, who's all packaging for what platforms?
20:42 Coke no one is packaging for osx. please, volunteer. =-)
20:42 davidfetter as in fink?
20:42 * davidfetter more curious about fedora et al., that being a platform he already knows how to package for
20:43 whiteknight how are we going to test for the presence of a memory leak?
20:43 Coke davidfetter: no, macports.
20:44 Coke 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?
20:44 whiteknight such a test could be used to catch any memory leak
20:45 cotto_work That'd do the trick.
20:45 whiteknight there might be something from the interpinfo_i_i opcode
20:45 cotto_work .TOTAL_MEM_ALLOC
20:46 dalek rakudo/master: 6357018 | jonathan++ | docs/ROADMAP:
20:46 dalek rakudo/master: Move a couple more items on the ROADMAP to completed.
20:46 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/6​357018a8fc722b978161c626111735f8a0e1898
20:47 dukeleto it would be nice to have the test for the memory leak in 2.1.1
20:47 dukeleto i.e. 2.1.1 should wait for a proper test. just my $0.02
20:47 dalek parrot: r44147 | darbelo++ | trunk/DEPRECATED.pod:
20:47 dalek parrot: Add deprecation notices for gdbmhash and the digest dynpmcs.
20:47 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44147/
20:48 Coke Nice to have. not a requirement for an emergency bugfix.
20:48 Coke the original ticket is still open pending the test, fwiw.
20:48 chromatic Yep, manual confirmation on several different tests gives me confidence.
20:48 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
20:50 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32265), fulltest) at r44146 - Ubuntu 9.10 amd64 (g++ with --optimize)
20:52 cotto_work It's a pretty easy test to write.
20:52 dukeleto i would like to try to write the memory leak test
20:52 shockwave whiteknight, I've sent it. I renamed the .exe files to .exex because GMail doesn't like them.
20:52 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
20:52 whiteknight repeat this until the before and after numbers are the same
20:53 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
20:53 Coke dukeleto: go for it. claim the ticket. =-)
20:53 dukeleto whiteknight: hmm. how do you choose X? is it platform-specific?
20:53 whiteknight dukeleto: that's a good question. probably needs some tuning
20:54 Coke I think making a large threshold value is good. kind of like a mandlebrot generator.
20:54 Coke (if we've hit ... 3M, we're probably going off to infinity)
20:54 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
20:54 bubaflub shouldn't the number of times through that loop be enough to ensure that we force the GC to run?
20:54 Coke bubaflub: you can force the GC to run.
20:55 whiteknight 10 loops of 1000 PMCs each should show the issue
20:55 bubaflub Coke: ah true.
20:55 Coke or 10K loops of 1 pmc. =-)
20:55 dukeleto bubaflub: howdy! sweep() runs the GC, iirc
20:55 dukeleto 10K loops of creating a single PMC?
20:56 dukeleto what about the example code in tt 1465? that seems nice and simple
20:56 cotto_work it's an infinite loop
20:57 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
20:57 chromatic For every million PMCs allocated, see that the GC has performed a mark/sweep.
20:57 dukeleto Coke: that is what I was thinking. just add a counter that bails after 10k loops
20:57 whiteknight shockwave: language looks very cool. Not entirely dissimilar from C# or Java. Nice
20:58 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.)
20:58 cotto_work dukeleto, check out the interpinfo opcode
20:58 dukeleto cotto_work: danke
20:59 Coke argh. 2.1.1 still sucks on the 'svk' test front.
20:59 Coke (I added a bin/svk that just errors out, that didn't help. =-)
20:59 whiteknight dukeleto: check out t/op/string_mem.t
20:59 Coke other than that, the tarball seems ok to me.
21:00 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
21:00 whiteknight dukeleto: t/op/string_mem.t:test_pin_unpin()
21:01 dukeleto whiteknight: that looks useful. thanks!
21:01 dukeleto which file should the test for the memory leak live?
21:02 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?
21:02 whiteknight for instance, you don't want to run a memory leak test on the INF GC
21:02 dukeleto whiteknight: i saw that. very nice.
21:02 whiteknight dukeleto: new file
21:02 purl rumour has it new file is truncated
21:02 dukeleto new file it is
21:03 whiteknight t/pir/memory_leak.t or something
21:03 particle t/gc/leaks.t
21:04 particle name the test subdir after the subsystem
21:05 whiteknight particle: that's cool too, but then you need to add a new dir to all the make targets
21:06 bubaflub if there will be more gc tests in the future, maybe t/gc isn't a bad idea
21:06 whiteknight "if"
21:07 cotto_work We want more tests for that.
21:07 bubaflub i mean, i'm hoping there will be more
21:07 lucian_ joined #parrot
21:09 Coke whiteknight: ... add a new dir?
21:09 Coke (er, to the make targets?)
21:09 whiteknight Coke: they want to add a new directory of tests under t/
21:10 whiteknight 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.
21:10 Coke most of the lists of tests are actually in lib/Parrot/..../*.pm
21:10 joeri joined #parrot
21:10 cotto_work Hmmm.  The number returned by MEM_ALLOC_TOTAL doesn't change, even after 2 minutes of running through the loop.
21:11 whiteknight Coke: Oh, I tought it was something like "perl t/harness t/pmc/*.t ..."
21:11 whiteknight so if you're not using wildcards, you can just ignore what I was saying
21:12 dalek plparrot: 5a56a0a | (Joshua Tolley)++ | ROADMAP:
21:12 dalek plparrot: Make notes
21:12 dalek plparrot: review: http://github.com/leto/plparrot/commit/5​a56a0ad3e7da735260a2bcd41c554f60743ec5b
21:15 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:17 shockwave Someone please make += work for strings registers. Pretty please. :)
21:17 GeJ Good morning everyone.
21:17 pmichaud shockwave: += as concatenation or as addition?
21:17 Coke shockwave: concat works.
21:17 davidfetter mornin' GeJ
21:17 pmichaud what Coke++ just said
21:17 shockwave concatenation
21:17 purl it has been said that concatenation is and.
21:17 Coke $S1 = concat $S0, $S2
21:17 pmichaud actually,   concat $S0, $S1   works also
21:18 pmichaud (which would be the equivalent of $S0 .= $S1)
21:19 shockwave Is that a recent addition. Mine fails, but I think I'm using parrot 1.8 or something like so.
21:20 darbelo shockwave: Note they said .=, not +=
21:20 shockwave oh
21:20 darbelo Different opcodes get different syntax. PIR is assembler-is in that way.
21:21 darbelo s/-is/-ish/
21:21 shockwave Just throwing out there that += would be nice to have.
21:21 bluescreen joined #parrot
21:21 shockwave But.= will work too.
21:22 chromatic I can't see the point of +=.
21:22 chromatic Why multiply sugar?
21:22 shockwave It makes it easier to output compiler code.
21:22 shockwave Because for builtin types, you can just += any var.
21:23 shockwave 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 #parrot
21:23 nbrown joined #parrot
21:23 shockwave I do have problems, but that's not the reason.
21:24 chromatic I can't see how it's not a problem.
21:24 chromatic You emit code and *something* has to guess at what type of operation you want.
21:25 chromatic Coercion heuristics that sloppy are a mess.
21:25 chromatic You end up with something like PHP's === and then I take away your computer.
21:26 darbelo I thought you took away birthdays as punishment.
21:26 PerlJam does that mean they become unborn?
21:27 chromatic They already were, I think.
21:30 shockwave done. .= implemented.
21:31 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 cotto_work So what *does* it count and why is that useful?
21:31 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.
21:31 chromatic If you throw away that memory, we lose a lot of information at lower levels that we need.
21:32 bubaflub left #parrot
21:32 cotto_work But why is that value useful?
21:32 chromatic cotto_work, I was talking to shockwave, sorry.
21:33 cotto_work The interpinfo constant to access it is INTERPINFO_TOTAL_MEM_ALLOC, which implies much more than there.
21:33 cotto_work gotcha
21:33 chromatic I don't know what that GC attribute tracks or why.  I don't recall it ever working consistently.
21:33 shockwave chromatic, yeah. I was just being lazy.
21:33 * davidfetter impatient
21:34 chromatic and Coke has hubris.
21:34 chromatic Or was that hummus?
21:35 Coke chromatic: no, I'm either a "petulant child" or "myopic".
21:35 chromatic Mr. Clean with a Snapple addiction.
21:38 dalek rakudo/master: 6663abf | (Martin Berends)++ | docs/compiler_overview.pod:
21:38 dalek rakudo/master: [docs/compiler_overview.pod] clarified some explanations, total around 85% complete
21:38 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/6​663abf809eecc708037c0dae69fd44237bb8c05
21:39 Coke ah, the things people remember about you.
21:40 chromatic You built a fortress of solitude out of empty Diet Peach Snapple containers in a single afternoon!
21:40 chromatic Even Marlon Brando looked concerned.
21:40 dalek winxed: r415 | julian.notfound++ | trunk/examples/packfile.winxed:
21:40 dalek winxed: disassembler in example packfile show "special" arguments, requires parrot
21:40 dalek winxed: r44138 or later
21:40 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=415
21:42 NotFound That completes the proof of concept of a disassembler based in the packfile an opcode PMCs :)
21:45 alin joined #parrot
21:46 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?
21:47 chromatic That depends on your language's promotion rules.
21:47 shockwave Coke, int
21:47 Coke then do an $I0 = $N0 first before you try to add.
21:48 nopaste "shockwave" at 76.119.137.239 pasted ".sub 'foo' :method $I10000001" (5 lines) at http://nopaste.snit.ch/19697
21:48 shockwave Is gonna be somewhat difficult rework what's being generated there.
21:49 Coke shockwave: any reason you're not just using PAST?
21:49 Coke ... that question sounds really familiar.
21:49 shockwave I coded the compiler using Lemon and PIR, and created my own AST.
21:49 Coke nevermind.
21:50 shockwave Lemon and RE2C, that is.
21:52 nopaste "coke" at 65.91.151.194 pasted "shockwave, this works." (11 lines) at http://nopaste.snit.ch/19698
21:52 Coke forces you to use intermediate registers, but hopefully not too much of a change.
21:52 dalek plparrot: eb1df83 | (David E. Wheeler)++ |  (2 files):
21:52 dalek plparrot: Move `plparrot.c` to `src`.
21:52 dalek plparrot: This keeps PGXS from installing it in the wrong place. Besides, the `handler` subdirectory was not really necessary.
21:52 dalek plparrot: review: http://github.com/leto/plparrot/commit/e​b1df8368b17b9406f91527f71516d1c54004ad0
21:52 dalek plparrot: 54cff80 | (David E. Wheeler)++ | .gitignore:
21:52 dalek plparrot: Ignore `results` dir and generated `plparrot.sql` file.
21:52 dalek plparrot: review: http://github.com/leto/plparrot/commit/5​4cff80f65a226d382e6156fae102af22185165e
21:52 theory How do we change that so it uses my irc nick?
21:53 Coke which it?
21:53 shockwave Coke, Thanks. I'll work with your info.
21:53 Coke oh, you're david? =-)
21:53 cotto_work dalek grabs that from CREDITS in Parrot's root dir
21:53 Coke cotto_work: it's not per-project CREDITS?
21:53 cotto_work possibly
21:56 shockwave rant: This particular change, to use intermediate register, is going to be a pain.
22:01 dukeleto theory: dalek uses the CREDITS file to keep track of giving karma to people which have multiple commit names
22:01 * theory looks
22:01 dukeleto theory: the A: entries are aliases for the main U: entry for each person
22:02 theory dukeleto: Hrm. I have a U: line just like you.
22:02 theory There are no A: entries
22:02 dukeleto theory: you are looking in the PL/Parrot CREDITS? I am talking about the Parrot CREDITS
22:02 theory Oh
22:02 theory I'm listed as David Wheeler there, but dalek knows me as David E. Wheeler
22:02 theory Oh, I have no Parrot credits
22:03 theory 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 ;)
22:03 theory Meh
22:03 dukeleto theory: you work on PL/Parrot, and that ain't nothing
22:04 dukeleto 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?
22:05 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
22:05 * theory thought parrot had moved to git
22:05 dukeleto theory: i use it as a place to show off topic branches and just be a general mirror
22:05 theory must be thinking of rakudo
22:05 cotto_work theory, not yet
22:05 theory np
22:05 theory me clones git://github.com/leto/parrot.git
22:05 dukeleto theory: yep. rakudo is on git. I will attempt to convert parrot to git, whenever they let me
22:06 theory he
22:06 theory h
22:06 dukeleto theory: just note that the 'master' branch is dirty with merges, so you want to look at the 'upstream' branch
22:06 dukeleto theory: i need to fix that one of these days
22:06 dukeleto theory: i figured out how to mirror without leaving merge commits
22:06 theory good idea
22:06 purl theory: Good Idea: Visiting the circus. Bad Idea: Having the circus visit you.
22:07 theory where should I send the patch?
22:07 chromatic particle, do you mean to send that here?
22:08 cotto_work you can nopaste it here and there's a good chance someone will apply it.
22:09 theory dukeleto: patch: http://parrot.privatepaste.com/6a446769c9
22:10 bacek joined #parrot
22:13 dalek rakudo/master: c69aeb9 | pmichaud++ | docs/release_guide.pod:
22:13 dalek rakudo/master: Update release_guide.pod with more names.
22:13 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/c​69aeb9f9ffb3f1e7e3dc84db6faa36bcd09c665
22:15 dukeleto theory: done
22:15 theory mkay
22:18 dalek rakudo/master: 2663b19 | (Martin Berends)++ | docs/ (2 files):
22:18 dalek rakudo/master: [docs/] additions to ChangeLog and announce/2010.02
22:18 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/2​663b191e40001e088c7010962eb20758844ecc1
22:20 shockwave I there a recommended place to attach test files?
22:21 shockwave Comparing two equal floats fail.
22:21 snarkyboojum joined #parrot
22:21 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?
22:21 dukeleto shockwave: show me the code
22:21 dukeleto nopaste?
22:21 purl rumour has it nopaste is at http://nopaste.snit.ch/ (ask TonyC for new channels)  or http://paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at http://www.extpaste.com/ or http://paste.scsys.co.uk (for #catalyst, #dbix-class, #moose  and others) or http://gist.github.com/ or paste or gtfo or tools/dev/nopaste.pl or https://trac.parrot.org/parrot/br​owser/trunk/tools/dev/nopaste.pl
22:22 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
22:22 dukeleto shockwave: is(x,y,msg,eps) in Parrot's test_more.pir
22:22 dukeleto where eps is the precision that you want to check within, i.e. eps = 1e-3
22:25 nopaste "shockwave" at 76.119.137.239 pasted "method of generating and comparing floats." (31 lines) at http://nopaste.snit.ch/19699
22:25 shockwave dukeleto, I'll take a look at it.
22:26 dalek parrot: r44148 | dukeleto++ | trunk/CREDITS:
22:26 dalek parrot: [cage] Add David Wheeler's info to CREDITS so his work on PL/Parrot gets properly karma-ified
22:26 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44148/
22:27 dukeleto shockwave: you can't compare floats exactly. you gotta subtract and see that the difference is less than you care about
22:28 shockwave The asserting message says:
22:28 shockwave Received: 3.140000
22:28 shockwave Expected: 3.140000
22:29 shockwave dukeleto, though, I get what you're saying, internally, they seem to be the same exact number.
22:30 dukeleto shockwave: you are not printing out the full numbers, only the first 6 decimals
22:30 shockwave I'm priting %f
22:30 dukeleto shockwave: and also, sometimes internal representations are different than printable representations. Moral of story: never compare floats exactly
22:31 particle even NaN is a range of values
22:31 particle ...not that it will ever compare equal...
22:32 dukeleto shockwave: try %G
22:32 Whiteknight joined #parrot
22:32 dukeleto shockwave: you are only looking at the float representation. the double represention is probably off in the least significant bit
22:33 shockwave is outputs 3.14
22:33 shockwave s/is/it
22:34 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
22:34 shockwave Expected is literal 3.14, and Received is the subtracted one.
22:35 shockwave I'm looking at the test stuff. I just wanna get this working.
22:39 dukeleto shockwave: no. print out (first-second) and see what that is
22:40 shockwave dukeleto, test_more.pir points to Test/More.pir
22:40 dukeleto shockwave: yep. follow the rabbit hole :)
22:40 shockwave In there, float comparision is done via:
22:40 darbelo shockwave: Welcome to IEEE 754, have fun looking for the way out.
22:40 dukeleto darbelo: lulz
22:40 shockwave pass = iseq ln, rn
22:41 dukeleto darbelo: that should be "Welcome to IEEE 754-2008. Abandon all hope."
22:41 dukeleto shockwave: there are many multimethods for is(). you are looking at the wrong one
22:41 dukeleto shockwave: look for one that takes 4 arguments
22:41 dalek rakudo/master: a04aba2 | jonathan++ | src/pmc/p6opaque.pmc:
22:41 dalek rakudo/master: 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.
22:41 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/a​04aba2165dcb0c5228391fde5d9a33c512823a3
22:41 dalek rakudo/master: 15ba550 | jonathan++ | src/builtins/Mu.pir:
22:41 dalek rakudo/master: 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.
22:41 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/1​5ba55062e33a811a62c9771f561ca539cf9ef53
22:42 shockwave dukeleto, there is none.
22:43 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:44 shockwave The not equals is implemented as:  ne left, right, pass_it
22:44 shockwave I'm assuming the are the same as the sugar == version.
22:44 shockwave Damn floats.
22:44 dukeleto shockwave: search for "check_precision" in that file
22:44 dukeleto shockwave: line 244 of Test/More.pir
22:45 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.
22:46 shockwave dukeleto. True. I was looking at multi.
22:46 shockwave dukeleto. Thanks. I should be able to wipe something up with this.
22:47 shockwave dukeleto, one more question: So, to have a precission of 4 decimal places as in : 9.1234, I pass: 1e-4 ?
22:49 NotFound $ winxed --stage=2 -e 'float n= 6.14; n= n - 3.0; say(n-3.14)'
22:49 NotFound -4.44089209850063e-16
22:49 NotFound Not exactly equal.
22:51 dukeleto shockwave: pretty close
22:52 dukeleto shockwave: if you want to make sure the first 4 digits match, then it is actually more like 2*1e-5
22:52 dukeleto 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
22:53 Whiteknight darbelo: I made an fp in verilog a while back, and had to use it to run a suite of CORDIC benchmarks
22:54 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?
22:55 NotFound Good point X-)
22:55 shockwave chromatic, as in regular ints?
22:55 chromatic Yes.
22:55 shockwave No, I can't. The 3D engine requires floats.
22:56 * 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
22:56 dukeleto Coke: willing to move or telecommute only?
22:56 dukeleto Coke: i saw your tweet. looking for a new gig?
22:57 Coke not really able to move.
22:57 NotFound Coke: A *REAL* programmer can write perl in any language... Or it was Fortran?
22:57 chromatic I know what you mean.  I had a tetanus booster yesterday and my shoulder is stiff.
22:57 shockwave dukeleto, It seems like I'm gonna need to.
22:57 dukeleto Coke: i hear ya. i forget, are you in seattle? or am i confusing you with someone else
22:57 Coke Albany, NY is the closest big town.
22:57 Coke perhaps big should be in quotes.
22:59 * Coke is no real rush, but it's definitely time to think about it.
22:59 chromatic There's a fake Rush?
22:59 dukeleto Coke: gotcha. there are definitely a lot of perl jobs in NYC, but that is a bit far for a commute for you
22:59 Coke anyone try the 2.1.1. tarball?
23:00 Coke 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.
23:01 darbelo If I dig about I can probaly find the VHDL source for the video output module.
23:01 Coke chromatic: *in* no real rush.
23:02 kthakore hi Coke
23:02 Coke kthakore: hio
23:02 kthakore Coke: does Parrot have threads?
23:02 kthakore or can it have threads?
23:03 dukeleto feather is laggy
23:03 Coke ... not sure why you'd single me out for that. =-)
23:03 kthakore Coke: oh no reason
23:03 kthakore sorry
23:03 darbelo kthakore: parrot has threads. But they're... undertested.
23:03 Coke I honestly don't know what the current status of threads is. ah there you go.
23:03 kthakore ok can I read about them somewhere
23:04 kthakore I wanted to try a little toy in parrot
23:04 kthakore hehe parrot toy
23:04 * darbelo had a toy parrot.
23:04 kthakore darbelo: please keep it to your self ;)
23:04 Tene last I checked, threads still weren't usable if you'd created any classes in nested namespaces.
23:05 Tene http://trac.parrot.org/parrot/ticket/757
23:05 kthakore Tene: so perl6 won't have threads from parrot?
23:05 Tene kthakore: Rakudo won't have threads until threads are fixed in Parrot.
23:06 kthakore right
23:06 kthakore ok
23:06 pmichaud where can I find the 2.1.1 tarball?
23:06 pmichaud (to test against rakudo)
23:07 Coke http://feather.perl6.nl/~coke/parrot-2.1.1.tar.gz
23:10 dukeleto kthakore: parrot has threads, but they are buggy
23:10 kthakore dukeleto: cool
23:11 joeri left #parrot
23:13 pmichaud Coke: thanks
23:14 pmichaud building, testing, etc.
23:14 dukeleto happy pi time (in PST)
23:15 dukeleto or is it PDT? i hate DST
23:15 * Coke has taken to just saying "Eastern"
23:17 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
23:18 dukeleto pmichaud: certain cities and counties don't follow DST. yay!
23:19 dukeleto 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 dukeleto areas, even
23:20 dukeleto and of course, everybody reports data in the local timezone. UTC? what is that for?
23:20 chromatic Socialist Europe.
23:21 NotFound dukeleto: just play games with the data until they look like the expected results, like the climate pros do.
23:23 NotFound Socialistic Republic of Greenwich.
23:24 dukeleto NotFound: you have no idea ;)
23:26 Coke I'm going to go offline. someone text me when rakudo says it's ok.
23:26 * chromatic wantes typed C hashes
23:26 Coke anyone have my cell?
23:27 Coke I just pm'd chromatic with it.
23:27 Coke ~~
23:27 chromatic Oh, okay.  I'll let you know if we need it.
23:31 kid51 joined #parrot
23:36 Whiteknight no reaction at all to my Parrot_call_* removal notice
23:36 dukeleto Whiteknight: i threw a tomato at my screen
23:36 Whiteknight ...no reaction that was communicable over the internet
23:37 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.
23:37 pmichaud ran spectests in 12m0s  (non-parallel)
23:37 dukeleto Whiteknight: who embeds parrot? other than parrot_debugger and PL/Parrot?
23:37 Whiteknight mod_parrot
23:37 purl mod_parrot is being worked on again.  ;) or at http://www.parrotcode.org/mod_parrot or at http://svn.perl.org/parrot-modules/mod_parrot
23:38 dukeleto Whiteknight: oh yeah! did you ack the mod_parrot source for the functions you changed?
23:38 Whiteknight nope
23:38 dukeleto Whiteknight: might be a good idea, just to give jhorowitz a heads up
23:38 kid51 jhorwitz
23:38 purl somebody said jhorwitz was "mod_parrot-guy" or mailto:jeff@smashing.org
23:38 Whiteknight he's definitely on parrot-dev
23:39 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:40 kthakore NotFound: hi
23:40 Whiteknight where is the mod_parrot repo even located anymore?
23:40 kthakore NotFound: I have made this format of the runtime SDL library
23:40 kthakore http://github.com/kthakore/parrotSDL
23:40 kthakore the SDL code is in runtime/parrot/library
23:41 kthakore How can I get parrot to point to this when it runs
23:42 dukeleto kthakore: .include 'SDL.pir'
23:43 dukeleto kthakore: also, nice work. SDL on parrot is exciting!
23:44 kid51 Whiteknight:  you ping-ed me a couple of days back ?
23:44 kthakore dukeleto: I didn't do anything yet
23:44 kthakore dukeleto: I just 'stole' the code out from under you guys
23:45 kthakore 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
23:45 dukeleto kthakore: well then. sounds good!
23:45 Whiteknight some of them look like your handiwork
23:45 kthakore heh ok
23:45 kthakore dukeleto: thanks
23:45 kthakore I kept itching to pull the trigger finger on it
23:46 dalek rakudo/master: e77b754 | jonathan++ | src/ (2 files):
23:46 dalek rakudo/master: Optimize hash - especially slurpy hash - creation.
23:46 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/e​77b754a69dcd5aa2912b63cd7dcff0fbc3cd64b
23:46 dukeleto kthakore: so you want to point parrot at your runtime dir?
23:46 Whiteknight when's the Rakudo release coming out?
23:46 kthakore dukeleto: yes
23:46 kthakore dukeleto: is that possible
23:46 dukeleto kthakore: maybe just symlink the SDL/ dir and SDL.pir ?
23:46 dukeleto kthakore: that is the easiest way
23:46 kid51 Whiteknight:  Yes.  We spoke about detect_llvm/ several months ago.  That's waiting on an LLVM in Parrot :-)
23:47 kthakore oh I was thinking something like path
23:47 dukeleto kthakore: make sure to make the symlinks in the installed version of parrot
23:47 dukeleto kthakore: there may be a way to do it with env vars, but I don't know
23:47 kthakore dukeleto: ok I will ask around
23:47 kid51 Whiteknight:  tt509_install_files branch was for evaluating a patch submitted by ___ (name escapes me now).
23:47 kthakore dukeleto: I need to make the boilerplate anyway
23:47 kid51 I repeatedly begged for review on #parrot, in #parrotsketch pre-post -- got none
23:47 kthakore the *most* fun part of any project
23:47 kthakore :)
23:48 dukeleto kthakore: asking on parrot-dev may get you a useful answer
23:48 kthakore parrot-dev the channel ?
23:48 kthakore oh mailing list
23:48 kthakore parrot-dev@perl.org
23:48 kthakore right?
23:48 kid51 tt509:  patch submitted by wayland
23:49 chromatic It's not begging if I don't get pie.
23:49 * kthakore gives chromatic a pie piece
23:49 chromatic Fun fact: there were two pies for Pie-thon.
23:49 chromatic Funner fact: I took one of them home.  It was good.
23:50 kthakore heheh
23:50 snarkyboojum joined #parrot
23:50 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
23:50 Whiteknight dump and run
23:50 Whiteknight even though it shouldn't matter, if they base their release on 2.1.1
23:52 chromatic This is why we don't let you run with scissors.
23:52 kthakore dukeleto: ok I found the link
23:52 kthakore I will send a post out thanks
23:52 kthakore now back to perl5 side of SDL
23:52 kthakore cya
23:57 chromatic Ugh, lousy hash implementation.
23:58 Whiteknight okay, enough bitchin. What will it take to make it non-lousy
23:58 Whiteknight ?
23:59 chromatic The biggest culprit right now is indirect function calls for every key comparison.
23:59 chromatic src/hash.c lines 1213-1226.

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced