Camelia, the Perl 6 bug

IRC log for #parrot, 2009-07-08

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:02 bacek_at_work [eq nt,tt
00:03 bacek_at_work bah!
00:03 bacek_at_work sorry, ww
00:05 Infinoid Whiteknight: Hmm, all tests passing on linux/amd64 here
00:05 Infinoid For trunk@39939 at least
00:06 patspam joined #parrot
00:06 dalek rakudo: 48c1791 | pmichaud++ | docs/release_guide.pod:
00:06 dalek rakudo: More release_guide.pod improvements.
00:06 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/4​8c17910660d0aee080e69e061220b410feba7b4
00:09 pmichaud draft blog post for "Rakudo release managers":  http://gist.github.com/142466    Comments and suggestions welcomed.
00:23 Whiteknight holy crap, well it passes here now
00:23 Whiteknight stupid bugs
00:23 purl stupid bugs is http://bugzilla.gnome.org/show_bug.cgi?id=334076
00:25 Whiteknight pmichaud: excellent post!
00:25 * Whiteknight has been slacking on his posts this week
00:30 * Tene tapes down WK's 'blog' button.
00:32 Whiteknight this has been quite the busy week
00:33 dalek TT #818 closed by whiteknight++: packfile tests failing on amd64
00:34 Whiteknight I've actually written a handful of drafts this week, but haven't published any of them
00:41 dalek rakudo: 116fa46 | jnthn++ | src/ (2 files):
00:41 dalek rakudo: Fix nextwitha and callwith.
00:41 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​16fa46b40260e5777db96a05ef75dba0cd41f05
00:41 dalek rakudo: 70bfd5c | jnthn++ | :
00:41 dalek rakudo: Merge branch 'master' of git@github.com:rakudo/rakudo
00:41 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7​0bfd5c1ab3e87ded8c78728338056dad97f1f4e
00:55 tetragon joined #parrot
01:21 dalek parrot: r39940 | jkeenan++ | branches/darwinhints/lib/Parrot/C​onfigure/Options/Test/Prepare.pm:
01:21 dalek parrot: Modify to accommodate two levels in t/steps/.
01:22 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39940/
01:28 dalek parrot: r39941 | jkeenan++ | branches/darwinhints/t/steps/init/hints:
01:28 dalek parrot: Add directory.
01:28 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39941/
01:34 dalek decnum-dynpmcs: r102 | darbelo++ | trunk/src/pmc/decnum (2 files):
01:34 dalek decnum-dynpmcs: Add a header for common definitions and use it to define a more readable alias
01:34 dalek decnum-dynpmcs: for PObj_private0_FLAG as suggested by cotto++
01:34 dalek decnum-dynpmcs: review: http://code.google.com/p/decnu​m-dynpmcs/source/detail?r=102
01:34 dalek decnum-dynpmcs: r103 | darbelo++ | trunk/src/pmc/definitions.h:
01:34 dalek decnum-dynpmcs: Actually add the file and the definition mentioned in the previous commit.
01:34 dalek decnum-dynpmcs: review: http://code.google.com/p/decnu​m-dynpmcs/source/detail?r=103
01:35 dalek parrot: r39942 | jkeenan++ | branches/darwinhints (1 files):
01:35 dalek parrot: Add a file to hold tests for the Darwin hints file.
01:35 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39942/
01:53 darbelo cotto: ping
01:58 dalek parrot: r39943 | coke++ | trunk (2 files):
01:58 dalek parrot: TT #450 - remove (most of) the DEPRECATED myops dynamic ops
01:58 dalek parrot: Leave one as a placeholder for now.
01:58 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39943/
02:01 tetragon joined #parrot
02:01 darbelo joined #parrot
02:01 davidfetter joined #parrot
02:01 japhb joined #parrot
02:01 eternaleye joined #parrot
02:01 sekimura joined #parrot
02:01 soxet joined #parrot
02:01 Coke joined #parrot
02:01 TonyC joined #parrot
02:01 dukeleto joined #parrot
02:01 preflex joined #parrot
02:01 silug joined #parrot
02:01 purl joined #parrot
02:01 rhr joined #parrot
02:01 rblackwe joined #parrot
02:01 workbench joined #parrot
02:01 jjore joined #parrot
02:01 TimToady joined #parrot
02:01 nnunley joined #parrot
02:01 mmpf joined #parrot
02:03 Austin Woot. Test cases for PAST::Node.pir completed.
02:03 dalek TT #790 closed by coke++: remove hcf dynop
02:03 dalek TT #695 closed by coke++: subtest 3 in t/dynoplibs/myops.t segfaults on darwin
02:10 dalek close: r52 | Austin++ | trunk/t/builtins/ (2 files):
02:10 dalek close: Added tests for some concat, elements builtins
02:10 dalek close: review: http://code.google.com/p/close/source/detail?r=52
02:10 dalek close: r53 | Austin++ | trunk/src/parser/builtin (2 files):
02:10 dalek close: Added concat, elements builtins
02:10 dalek close: review: http://code.google.com/p/close/source/detail?r=53
02:10 dalek close: r54 | Austin++ | trunk/src/parser/grammar.pg:
02:10 dalek close: Removed 'lexical' keyword
02:11 dalek close: review: http://code.google.com/p/close/source/detail?r=54
02:11 dalek close: r55 | Austin++ | trunk/src/parser/ (2 files):
02:11 dalek close: Refactored binary expression code to expression_actions.pm
02:11 dalek close: review: http://code.google.com/p/close/source/detail?r=55
02:11 dalek close: r56 | Austin++ | trunk/library/pct/PAST/Node.pir:
02:11 dalek close: Got rid of intermediate pir file
02:11 dalek close: review: http://code.google.com/p/close/source/detail?r=56
02:11 dalek close: r57 | Austin++ | trunk/ (8 files):
02:11 dalek close: Added Node.c= file for PAST::Node, and subclasses. Added test cases. Added built
02:11 dalek close: support
02:11 darbelo left #parrot
02:11 dalek close: review: http://code.google.com/p/close/source/detail?r=57
02:13 jdv79 joined #parrot
02:20 dalek close: r58 | Austin++ | trunk/library/pct (3 files):
02:20 dalek close: Added svn:ignore of .pir files below library/pct
02:20 dalek close: review: http://code.google.com/p/close/source/detail?r=58
02:25 Tene joined #parrot
02:36 janus joined #parrot
02:43 dalek TT #819 created by coke++: obscure.ops need tests
02:48 dalek parrot: r39944 | coke++ | trunk (9 files):
02:48 dalek parrot: -remove dynop myop (TT #450); migrate obscure from regular to dynop. (partial TT #449)
02:48 dalek parrot: -lack of existing tests for dynops, and more regimented test conditions force us to todo a codingstd test.
02:48 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39944/
02:50 dalek TT #450 closed by coke++: [TODO] Remove dynoplibs myops & dan ops
02:54 davidius joined #parrot
02:55 dalek parrot: r39945 | coke++ | trunk/docs/compiler_faq.pod:
02:55 dalek parrot: Remove example that really doesn't look anything like the example in src/dynop*l
02:55 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39945/
02:57 dalek TT #820 created by coke++: dynops should show up in docs/ops...
03:07 Coke I dread moving another dynops file. The makefile is going to explode.
03:13 s1n particle: still no word from my company, have you spoken to allison?
03:38 Andy joined #parrot
03:46 eternaleye_ joined #parrot
03:56 tetragon joined #parrot
04:25 jrtayloriv joined #parrot
04:30 cotto darbelo (who most likely won't see this), pong
04:32 Zak joined #parrot
04:39 tetragon joined #parrot
04:54 Khisanth joined #parrot
05:12 Theory joined #parrot
05:22 tetragon_ joined #parrot
06:01 uniejo joined #parrot
06:03 chromatic joined #parrot
06:29 TiMBuS joined #parrot
06:29 TiMBuS GBACK
06:29 TiMBuS .. my bad
06:30 tetragon joined #parrot
06:33 dalek parrot: r39946 | petdance++ | trunk/src/spf_render.c:
06:33 dalek parrot: hoisted up some common subexpressions and reduced a lot of string indexing. Also changed an x<<1 to x*2, because really that is our intent. Let the compiler do what it does best.
06:33 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39946/
06:55 eternaleye joined #parrot
06:59 tetragon_ joined #parrot
07:02 tetragon joined #parrot
07:03 iblechbot joined #parrot
07:06 Axle joined #parrot
07:06 Axle I'm having a hard time getting through the documentation
07:07 Axle reading http://docs.parrot.org/parrot/la​test/html/src/pmc/array.pmc.html
07:07 Axle I would like to know how to use push and pop
07:09 moritz push array, value
07:10 Axle I tried to do that but got array index out of bounds.
07:11 Axle new $P0 'Array' | set $P0, 10 | $S0 = 'hello' | push $P0, $S0
07:11 mikehh All tests PASS (pre/post config, smolder, fulltest) at r39946 - Ubuntu 9.04 amd64
07:12 moritz what is the set $P0, 10 supposed to do?
07:12 Axle set the size of the array to 10
07:12 moritz ah
07:12 Axle as outlined here: http://docs.parrot.org/parrot/lat​est/html/docs/pmc/array.pod.html
07:12 TiMBuS you're trying to push into position 11 tho.
07:13 TiMBuS you probably want to use a resizable array
07:13 Axle go on
07:14 Axle I'm really new, so you're gonna have to spell it out for me
07:14 TiMBuS oh. well push appends to the end of an array. so if yu use a plain Array you won't be able to add to it
07:14 TiMBuS since it's a set size
07:15 TiMBuS use a ResizableStringArray
07:15 moritz Axle: if you do new $P0, 'ResizableStringArray' and omit the set, it works
07:15 Axle will push ever work on a regular array?
07:16 moritz it doesn't seem useful on a fixed size array
07:16 TiMBuS kind of dangerous
07:16 cotto Axle, the Array PMC isn't the one you'll usually want to use.  You'll want either ResizablePMCArray or ResizableStringArray most likely.
07:16 Axle ok, why does it exist then?
07:17 TiMBuS Mostly to inherit from
07:18 cotto "Historical reasons" is my best understanding.
07:18 Axle so there it flat out does not work on a regular array?
07:19 Axle it's kind of important, actually
07:20 moritz what is important to you, exactly?
07:20 Axle trying to write a stack language. if I want to keep the ints/floats/strings as simple as possible, I can't
07:20 TiMBuS a stack language you say
07:20 Axle because apparently I need to use ResizablePMCArray
07:21 TiMBuS i used a ResizablePMCArray for that
07:21 Axle right, just now everything will have to be boxed
07:22 moritz well, if you want to push primitives of different types onto a stack, and you want to preserve the type information (and not get back a mass of undifferentiated bytes) than you *have* to do something.
07:23 TiMBuS you could implement a lighter weight box type of your own
07:23 TiMBuS as a pmc
07:23 moritz if that doesn't appeal to you, you can of course write your own Array subclass that tracks the types for you
07:23 TiMBuS or that
07:23 Axle unfortunately that's beyond me TiMBuS :)
07:23 Axle I appreciate the help all of you
07:24 moritz Axle: I think a sensible approach might be to box everything first, and when it works and you want to optimize you can still look into custom PMCs later on
07:24 moritz "first make it run, then make it right, then make it fast"
07:24 tetragon joined #parrot
07:24 cotto Axle, just do the boxing.  There's even an opcode for it ("box").
07:24 Axle lol, you have a very good point
07:24 cotto plus what moritz said
07:25 Axle thank you again all three of you
07:25 Axle left #parrot
07:26 TiMBuS woot i was helpful
07:26 cotto no need to stick around, I guess
07:33 jimmy joined #parrot
07:37 jimmy cotto: hello
07:39 cotto jimmy, hi
07:42 jimmy cotto:I have no patch tools.but I have a patch.
07:42 cotto if you have svn, you have a patch tool
07:42 cotto svn diff
07:42 purl rumour has it svn diff is better than cvs log, that's why I like svn more than cvs
07:43 cotto Hmm. Purl's slow lately.
07:43 moritz can you also apply patches with svn?
07:45 jimmy I have no tools and sources.
07:46 cotto possibly but I don't know how.
07:46 jimmy just r39946
08:04 cotto jimmy, it's committed.  Thanks.
08:05 jimmy thank you too.
08:07 dalek parrot: r39947 | cotto++ | trunk (2 files):
08:07 dalek parrot: [cage] use else if instead of nested if
08:07 dalek parrot: fix courtesy of jimmy++
08:07 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39947/
08:16 clinton joined #parrot
08:41 cotto r40000 approaches
08:41 cotto not that it means anything
08:44 dalek parrot: r39948 | cotto++ | branches/ops_pct/compilers/opsc (5 files):
08:44 dalek parrot: [opsc] use a custom Op class to store Op-related information
08:44 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39948/
08:44 dalek parrot: r39949 | cotto++ | branches/ops_pct/MANIFEST:
08:44 dalek parrot: [MANIFEST] manifest update for recently added files
08:44 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39949/
08:50 dalek parrot: r39950 | cotto++ | branches/ops_pct/compilers/opsc (4 files):
08:50 dalek parrot: [opsc] fix failing tests by using Hash instead of RPA for op_flags, which is a simpler interface anyway
08:50 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39950/
08:55 bacek_at_work $P0.'addstage'('die', 'after'=>'past')
08:55 bacek_at_work nice :)
08:55 cotto Managed code has nothing on our mangled code.
08:56 bacek_at_work ok, going home now.
08:56 cotto I could also call it "shut_up_the_compiler_becau​se_it_will_never_emit_pir", but that was a bit verbose.
08:56 bacek_at_work cotto: can we share work on opsc?
08:57 cotto certainly
08:57 purl rumour has it certainly is not sql-sane atm
08:57 cotto I like having a non-1 bus number.
08:58 bacek_at_work Yeah. I don't like -1 bus number too :)
08:58 * cotto doesn't want to try to figure out what that means.
08:58 cotto Maybe the guy has to hit a bus?
08:59 cotto don't try it. ;)
08:59 bacek_at_work how many people you have to remove from project to make project alive
08:59 bacek_at_work afk &
09:01 cotto That's not a healthy project.
09:10 riffraff joined #parrot
09:19 bacek joined #parrot
09:19 bacek hi again
09:19 purl oh, you're back!
09:19 cotto hi
09:20 cotto with opsc, a couple (somewhat) independent things need to happen:
09:21 cotto 1) make opsc.pir cat all files from the command line before parsing them (or put all ops from all files into the same past)
09:21 cotto 2) make sure that the past contains enough info for the translators (i.e. what's in lib/Parrot/OpLib/core.pm)
09:22 cotto - also, make sure the info gets stored somewhere convenient so we don't have to re-parse all ops for every runcore
09:22 bacek PAST is good choice for store it.
09:22 cotto 3) work on the individual translators (although this obviously depends on 2).
09:23 cotto Sure.  Just freeze it and stick it somewhere sane.
09:23 cotto Alternately we could have opsc spit out all runcores at once.
09:24 bacek parsing all ops files took less than 2 second btw
09:24 bacek not a big deal to reparse them for every runcore
09:24 cotto That's 6 seconds to cut off the build, but we can easily put that off until later.
09:24 bacek (Instead of investing time to implement freezing)
09:25 cotto Oh yeah.  I'd forgotten that PASTs don't freeze easily.
09:25 cotto stupid PASTs
09:25 bacek heh :)
09:25 cotto make it work, then make it work efficiently
09:26 bacek Just "make it" first
09:26 cotto it's there, fsvo it
09:27 cotto At any rate, feel free to start on the runcores or on making opsc stuff everything into one past.  I'll take whatever you dont.
09:27 cotto *don't
09:27 bacek I'll take 2-3 steps.
09:27 cotto I thought you would.
09:27 bacek Just make some dinner
09:28 cotto I'm off to bed.
09:28 cotto Good night.
09:28 * bacek found some nice recipe of pork with sour-cream
09:28 bacek cotto: good night.
09:33 tetragon_ joined #parrot
09:38 MoC joined #parrot
09:38 fish left #parrot
10:17 bacek joined #parrot
10:24 bacek msg pmichaud (I know that string interpolation no currently in scope for NQP) Can I add minimalistic string interpolation into NQP? It will very handy for converting current ops2c to PCT as part of L1 roadmap.
10:24 purl Message for pmichaud stored.
10:25 bacek msg pmichaud Only scalar variables (and probably argsless method calls like $self.foo)
10:25 purl Message for pmichaud stored.
10:26 bacek msg (And I'll alias "self" to "$self" manually before interpolate)
10:26 purl Sorry, I've never seen (and before.
10:26 bacek msg pmichaud (And I'll alias "self" to "$self" manually before interpolate)
10:26 purl Message for pmichaud stored.
10:26 bacek good girl
10:26 purl thanks bacek :)
10:27 masak joined #parrot
10:29 jonathan purl ain't used to being called that :-)
10:29 purl jonathan: huh?
10:32 bacek jonathan: it's rare message. That's why it so valuable :)
11:18 tetragon joined #parrot
11:19 tetragon_ joined #parrot
11:37 kid51 joined #parrot
12:00 bacek joined #parrot
12:08 tetragon joined #parrot
12:08 cognominal joined #parrot
12:11 jdv79 joined #parrot
12:12 jdv79 item 13 in rakudo/docs/release_guide.pod could be more concrete.  item 15 is more about optionals...
12:17 cognominal joined #parrot
12:40 skids joined #parrot
12:45 MoC joined #parrot
12:47 bacek Bah! Who designed ops2c? I want to visit him with pizza and beer.
12:47 bacek It's one of the best code I've seen so far.
12:50 jonathan me! me!
12:50 jonathan (not really ;-))
12:51 jonathan (but I like pizza and beer ;-))
12:53 Util bacek: Looks like kid51++ - see r17467 and RT#41786
12:56 bacek kid51++ # ops2c ftw!
12:57 * bacek passing virtual beer to jonathan. Sorry, may be it will be real net time :)
13:12 Coke_afk kid51 very likely did some cleanup, but I doubt he did the design.
13:13 jan joined #parrot
13:16 donaldh joined #parrot
13:18 bacek Coke_afk: I tend to disagree. If I read http://rt.perl.org/rt3/Ticket/Attachment/223​104/106167/ops2c.pl.refactored.svn.diff.txt correctly he designed at least half of ops2c.
13:19 bacek OpTrans* is second half.
13:19 bacek But... kudos for everyone who did it.
13:22 Patterner joined #parrot
13:24 bacek msg cotto Sorry, no commits to ops_pct for today. I've spent my time reading ops2c. BTW, consider to migrate ops2c to PCT "as-is".
13:24 purl Message for cotto stored.
13:41 particle joined #parrot
13:50 Coke_afk bacek; I guess it depends on what encompasses "design". he refactored it, yes.
13:50 Coke but he didn't design how ops2c was supposed to be working. He took the existing version and made it amenable to testing.
13:51 bacek Coke: "code design" vs "ops design"
13:52 Coke fair enough.
13:52 * Coke wonders if his op shuffle has inconvenienced anyone yet.
13:53 bacek And explicitly said "ops2c" :)
13:53 bacek Coke: "op shuffle"?
13:54 bacek Ah. You mean latest commits to remove some dynops.
13:54 Coke and make some ops dynops instead of builtins.
13:54 Coke hurm. might need to re-run renumber.
13:55 bacek Coke: -1 for make them dynops. My personal preference to kill them all :)
13:56 Coke bacek: that would need another deprecation notice, but I don't think we need, say, covers
13:57 bacek Let's deprecate all current dynops except one needed for internal testing!
13:58 Coke bacek: someone already did that.
13:58 bacek Ah. Ok.
13:58 Coke that was the old myops and danops
13:58 Coke those are now gone.
13:58 Coke but ...
13:58 Coke ... now there's about six other .ops files that are getting "demoted".
13:58 NotFound Did you killed hcf?
13:58 Coke NotFound: absolutely.
13:58 NotFound How can we catch the fires, then?
13:59 Coke we weren't catching them /before/
14:00 NotFound Coke: I catched at least one. Setting an exception handler with hcf inside was a quick way to obtain a core dump
14:00 Coke ok. (it wasn't just removed because of the core dumps, the entire set of ops was deprecated post 1.0)
14:00 * bacek proposing op "bah" as shortcut for "new UncatcheableException; throw"
14:01 NotFound But of course, this is no compensation for the fake bugs opened because of hcf.
14:01 Coke we shouldn't have uncatchable exceptions. :|
14:01 eternaleye joined #parrot
14:01 bacek Bah! It's tomorrow already. Time to sleep.
14:02 bacek see you tomor^W soon
14:05 NotFound The same goal can be achieved with an infinite loop in the handler and kill -s ABRT
14:13 Coke man is config/gen/makefiles/dynop* ugly.
14:15 amuck_ joined #parrot
14:15 iblechbot joined #parrot
14:38 amuck_ left #parrot
14:43 elmex joined #parrot
14:47 NotFound joined #parrot
14:58 Theory joined #parrot
15:02 frodwith joined #parrot
15:03 frodwith joined #parrot
15:04 frodwith joined #parrot
15:20 donaldh joined #parrot
15:22 rdice joined #parrot
15:35 Theory joined #parrot
15:49 mikehh joined #parrot
16:04 darbelo joined #parrot
16:08 jrtayloriv joined #parrot
16:09 Austin joined #parrot
16:20 mikehh joined #parrot
16:23 brbrooks joined #parrot
16:24 Psyche^ joined #parrot
16:27 chromatic joined #parrot
16:33 nopaste "cotto" at 74.61.2.46 pasted "file layout reference for ops2c-related code for bacek_at_work" (18 lines) at http://nopaste.snit.ch/17151
16:43 cotto hi
16:43 purl bonjour, cotto.
16:44 darbelo cotto: ping again
16:44 purl I can't find again in the DNS.
16:48 cotto darbelo, pong
16:48 cotto < purl-- >
16:54 abesapien joined #parrot
16:55 darbelo cotto: did you see my blog/parrotsketch report?
16:57 cotto darbelo, yes.  Is there anything in particular you're referring to?
16:57 cotto I'm glad you're alive. ;)
16:59 darbelo I briefly considered putting "darbelo != Michael Jackson" but I figured only Austin would get the joke.
17:01 darbelo But, getting back to the point, I'm pretty much stuck with the the failures.
17:01 Austin :)
17:01 darbelo s/the the/the test/
17:01 Austin How many times will I hear "I'll Be There" today?
17:01 mj41 joined #parrot
17:03 davidius joined #parrot
17:04 darbelo So I'm going to "move on" to working on DecInt to avoid getting further behind schedule.
17:06 Austin Darbelo: where is your blog?
17:06 darbelo Austin: parrot.org front page.
17:07 cotto darbelo, how can I help you get unstuck?
17:07 cotto Austin, parrot.org/darbelo
17:08 Austin Cool.
17:08 cotto You too can have your own blog on parrot.org.
17:10 cotto would a whip and/or cattle prod help?
17:11 darbelo I don't think so.
17:12 Austin pmichaud: ping
17:12 cotto You're no fun anymore.
17:14 jdv79 make test for rakudo just failed me
17:16 jdv79 http://gist.github.com/142981 - just FYI
17:16 darbelo It's not as fun, but sanity-check on the tests that we're failing would be helpful.
17:17 moritz jdv79: what's your version of TAP::Harness?
17:18 darbelo t/multiply.t is probably the best candidate.
17:19 cotto sure.  I'll take a look.
17:20 jonathan Hmm. I ain't seen the tests fail that way before...
17:20 moritz it's a harness problem, not a Perl 6 problem
17:21 jonathan moritz: Aye...curious which flag is doing it.
17:22 darbelo Before I forget: running "make test" assumes you have a 'parrot' executable on the root svn dir. I put a symlink there to the parrot in my working copy (Which is why I use the parrot checkout dir as a staging dir)
17:22 brbrooks What are the most popular systems outside of (x86 + linux/darwin/win) that people run parrot on?
17:23 Aisling joined #parrot
17:23 darbelo I'll probably change that in a few days, but not yet.
17:23 jevin joined #parrot
17:23 magnachef joined #parrot
17:23 darbelo brbrooks: I would expect amd64 + linux
17:24 moritz right; maybe also old mac PPCs
17:24 moritz or freebsd/openbsd
17:24 moritz probably more often than PPC
17:25 brbrooks any muster about solaris?
17:26 chromatic Occasionally, though old versions of Sun CC (and I don't know about Sun Studio) have problems with some of our not-quite-C89 code.
17:26 cotto darbelo, it looks like make realclean clobbers definitions.h
17:27 brbrooks Is anybody currently doing any GC-related work?
17:28 Whiteknight joined #parrot
17:29 Whiteknight good afternoon #parrot
17:29 cotto right on cue
17:29 Whiteknight ?
17:29 brbrooks Whiteknight: any update on the "very concurrent" GC core?
17:30 Whiteknight brbrooks: no updates yet. I have a plan for it, but haven't had time to put the pencil to the paper
17:30 Whiteknight plus, I have other tasks I want to tackle first, given the opportunity
17:30 brbrooks Would you have the bandwidth to mentor me?
17:31 Whiteknight certainly! I'd be glad to help
17:31 solarion joined #parrot
17:31 Whiteknight I have some development time available, just not enough to do the entire thing by myself
17:32 brbrooks Yeah, I've gotten a chance to skim some GC code, but still need to soak up more
17:33 cotto darbelo, I get complaints about DecNumContext missing when I run the tests.
17:37 cotto Do you have any idea what could cause that?  I don't mind digging in.
17:38 dalek decnum-dynpmcs: r104 | darbelo++ | trunk/build/src/pmc/Makefile.in:
17:38 dalek decnum-dynpmcs: Save definitions.h from make realclean.
17:38 dalek decnum-dynpmcs: review: http://code.google.com/p/decnu​m-dynpmcs/source/detail?r=104
17:40 darbelo cotto: A quick check would be to see the return value for the loadlib. I currently ignore it on the tests, but it tells you wthere parrot could find the .so or not.
17:42 cotto It doesn't seem to be returning null.
17:43 nopaste "darbelo" at 200.49.154.172 pasted "What does this output for you?" (4 lines) at http://nopaste.snit.ch/17154
17:44 Coke http://www.atarimuseum.com/vi​deogames/consoles/7800/games/ - source code for atari 7800 games.
17:44 cotto a blank line
17:44 purl a blank line is one that containt nothing but s
17:45 Austin Me too.
17:45 davidius joined #parrot
17:46 darbelo cotto: Then it's not finding decnum_group.so
17:47 nopaste "Austin" at 98.235.55.43 pasted "Result of load-library decnum-group" (10 lines) at http://nopaste.snit.ch/17155
17:47 darbelo Austin: Don't worry it's not something you need. I'm developing an external module, not a part of parrot.
17:48 NotFound Coke: Are you planning to compile 6502 code to parrot?
17:48 darbelo Austin: also, asm {{ }} ?
17:50 Austin darbelo: From a Close test file I was editing.
17:50 darbelo I guessed something like that, but it looked like PIR, not PASM, to me.
17:50 Austin Yep.
17:51 Austin But if you're going to drop to anything like assembly from "C", asm is the keyword to use.
17:51 Austin And when in doubt, Close uses C
17:53 dalek parrot: r39951 | NotFound++ | trunk/compilers/imcc/reg_alloc.c:
17:53 dalek parrot: [cage] try_allocate return value never used, making it void
17:53 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39951/
17:53 dalek close: r59 | Austin++ | trunk/ (6 files):
17:53 dalek close: Got POST::Node tests working
17:53 dalek close: review: http://code.google.com/p/close/source/detail?r=59
17:54 pmichaud Austin: pong
17:54 Coke NotFound: oh hell no. but I figured someone here would be crazy enough to try.
17:55 NotFound Coke: Maybe some day I'll try that, but with Z80
17:55 cotto darbelo, the makefile fix is simple enough.  Do you mind if I commit?
17:55 Austin pmichaud: P6object does some wierd things when you tell it a parent class that isn't loaded. (Null PMC exception, I think.) Do you want tickets for that sort of thing?
17:56 rdice joined #parrot
17:57 pmichaud Austin: sure, tickets are fine.  I might end up deciding that Null PMC exception is the correct answer, but at least it'll get me to look at it :-)
17:57 darbelo cotto: Go ahead.
17:58 Austin okay
17:59 darbelo cotto: Wait, you mean definitions.h ? I already did that one.
18:00 cotto so you did
18:01 cotto The commit failed.
18:01 Austin FixedIntegerArray: index out of bounds!
18:01 Austin There's an error you don't see every day.
18:02 confound joined #parrot
18:02 cotto darbelo, the problem was that I didn't run make install
18:02 cotto or not.  it's still not finding it
18:03 cotto make seems to do that anyway
18:03 nopaste "darbelo" at 200.49.154.172 pasted "This is my setup. I don't need to install." (8 lines) at http://nopaste.snit.ch/17156
18:04 MoC joined #parrot
18:04 darbelo "/home/darbelo/parrot/trunk" is my parrot checkout on that paste.
18:05 dalek close: r60 | Austin++ | trunk/t/library/pct/POST/Node/01-label.t:
18:05 dalek close: POST::Label tests
18:05 dalek close: review: http://code.google.com/p/close/source/detail?r=60
18:07 cotto interesting
18:11 darbelo Hmm. is there a flag to tell parrot "And search here too."
18:12 Austin -L?
18:12 purl hmmm... -L is another short way to do add newlines to each line or very handy or not needed then.
18:12 Austin Works for load-bytecode. library I'm not sure about
18:13 * darbelo goes afk
18:13 ruoso joined #parrot
18:16 Austin -X or --dynext ?
18:27 * darbelo comes back
18:27 jdv79 2.64
18:28 darbelo Yup -X did it, Austin++
18:30 MoC joined #parrot
18:30 jdv79 moritz: its the system Tap::Harness.  i can't upgrade it.
18:30 davidius joined #parrot
18:30 jdv79 i'll just assume the tests pass
18:30 brbrooks src/gc/res_lea.c malloc.c malloc_trace.c - why do these exist if they're unused?
18:31 chromatic We haven't had the courage to delete them yet.
18:31 athomason joined #parrot
18:31 jdv79 if they're deleted and the build/test works what else is there?
18:32 chromatic The persistent belief that one day we'll use them.
18:32 brbrooks delete them, then revive them from a previous rev if need-be?
18:33 jdv79 maybe move it to an "old folder" or a branch so its clear what's actively used.
18:33 jdv79 the problem in leaving it in an old rev is nobody will ever know they are tehre
18:33 brbrooks ahhh
18:34 jdv79 if they are find/grep able then there's at least a small chance someone could find them
18:34 Coke there is a ticket about removing them.
18:34 brbrooks build/test should work, they're not included in the build
18:35 Coke ISTR 1.4 need to land before we can rip them out.
18:35 Coke needs.
18:35 brbrooks what is ISTR 1.4?
18:36 Austin ISTR = i seem to recall
18:36 Coke ISTR?
18:36 purl I Seem To Recall
18:36 jdv79 doing it in caps confused me as well
18:36 Coke 1.4 == next supported version of parrot, due this month.
18:36 jdv79 seemed like it should be a real acronym
18:36 Coke ... acronyms are supposed to be in all caps. =-)
18:37 jdv79 ok
18:37 Coke IYKWIM.
18:37 Austin Whoa. It's an acronym. It's supposed to be caps.
18:37 brbrooks why does 1.4 need to land before ripping them out?
18:37 Coke in general, because of our support policy.
18:38 Coke in this particular case, that might be overly cautious.
18:38 brbrooks We need to support source that isn't included in the build?
18:38 Coke on the gripping hand, there's only 2 or 3 weeks left.
18:38 Coke if you had come in 3 months ago, I'd say sure. This is assuming I am even remembering the case correctly. let me find the ticket.
18:39 Coke rant; 'GC' is a perfectly valid trac search, trac.
18:40 Coke https://trac.parrot.org/parrot/ticket/490
18:41 Coke which points to branches/gc_options_remove - which can probably be extended to remove the actual files if it hasn't already.
18:41 Coke then we can roll it back in immediately after the release.
18:41 Coke but yes, in general, if something is unused and broken, we can remove it without much concern.
18:42 Coke another rant: give me a trac search that only shows non-closed tickets.
18:42 Util Coke: if you will be more specific, I will write the trac report
18:42 Coke Util: not a report.
18:43 Coke https://trac.parrot.org/parrot/search
18:43 Coke but thanks for the offer. =-)
18:43 brbrooks I see
18:44 Coke so, like I said, if we weren't almost at 1.4 anyway and had a patch ready, sure, let's apply it. but 2 weeks? meh.
18:45 Coke that said, please feel free to patch up the -branch- asap.
18:46 brbrooks mmm I'm sure jkeenan is ontop of it, just removing files...
18:46 * brbrooks goes back to reading gc src
18:47 Theory_ joined #parrot
18:48 Coke jkeenan is more of a perl guy - if there's C code involved, he could probably use a hand.
18:50 NotFound I think that deleting C files is not very different of deleting perl files X-)
18:56 Theory joined #parrot
19:10 Util Coke: use the ticket-specific Custom Query instead.
19:11 Util In the basic (non-SQL) Trac ticket query, you can use `~` for "contains", and `!` for "not".
19:11 Util Therefore, this URL should do what (I think) you wanted:
19:11 Util https://trac.parrot.org/parrot/que​ry?status=!closed&amp;summary=~GC
19:11 Util Also useful: change 'summary' to 'keywords' or 'description'
19:20 brbrooks joined #parrot
19:22 Coke util;looks good, thanks.
19:22 Util glad to help
19:22 pmichaud Two weeks left.
19:22 pmichaud Actually 13 days.
19:24 cotto plt?
19:24 purl i think plt is Brown/Rice.
19:24 cotto tasty, but not very useful
19:34 darbelo cotto: any luck on "make test"ing ?
19:35 mikehh All tests PASS (pre/post config, smolder, fulltest) at r39951 - Ubuntu 9.04 amd64
19:40 spinclad joined #parrot
19:40 jsut joined #parrot
19:47 Coke otl?
19:48 brbrooks I have 6 hrs of useless meetings at <dayjob> tomorrow...  I'd rather sit at my cube and read parrot src...
19:48 Coke depending on the type of meeting, that shouldn't stop you. =-)
19:49 brbrooks true
19:52 Util OTL == Out To Lunch
19:53 Coke otl is Out To Lunch
19:53 purl i already had it that way, Coke.
19:53 Coke otl?
19:53 purl otl is, like, Out To Lunch
19:53 Coke does == work?
19:53 Coke huh.
19:54 darbelo Coke: Nope, I taught it to purl in a /msg
19:54 Coke darbelo++
19:55 darbelo figured there was no need to embarrass her in public :)
19:56 mikehh darbello: how do you build decnum_dynpmcs? can you only build from an installed parrot?
19:57 mikehh sorry
19:57 mikehh darbelo: how do you build decnum_dynpmcs? can you only build from an installed parrot?
19:57 cxreg joined #parrot
19:57 darbelo mikehh: It *only* builds from an installed parrot.
19:58 mikehh damn - I was trying from my normal build setup
19:58 s1n joined #parrot
19:59 mikehh thats my normal svn co
19:59 PerlJam darbelo: that's interesting because until quite recently people were encouraged to NOT install parrot because the installed one would interfere with development
19:59 Coke mikehh: I install parrot into ~/bird, e.g.: if you're already running fulltest, 'make install-dev' doesn't take much more effort.
19:59 Coke PerlJam: QUITE?
19:59 Coke that's been relaxed since well before 1.0
20:00 TimToady phone
20:00 Coke TimToady: not for me. See you next week.
20:00 PerlJam Coke: sorry, that's still recent for me. :)
20:00 Coke TimToady: (and I still owe the report.)
20:01 mikehh Coke: ok will give it a try
20:02 abesapien joined #parrot
20:02 darbelo PerlJam: I install parrot to a dir under my $HOME and so far it hasn't interfered with anything.
20:04 PerlJam darbelo: I'm sure it doesn't.   It's just interesting to me that before everybody was "compile against a non-installed parrot" and your thing is now "compile only against an installed parrot"
20:06 Coke PerlJam: sure, ignore tcl.
20:06 dngor_ joined #parrot
20:06 masak joined #parrot
20:06 Coke My thought is that anything truly external should be building against an installed version.
20:06 PerlJam ignore what?
20:06 purl http://www.delchi.net/images/edignore.jpg
20:06 PerlJam ;)
20:07 masak examples/library/ncurses_life.pir seems to have bitrotted. it runs, but it displays just an empty screen with "Generation: \d+" at the top.
20:07 masak can anyone confirm this?
20:07 purl it has been said that can anyone confirm this is right, http://scsys.co.uk:8001/30639
20:07 darbelo PerlJam: It wasn't my first idea, but I lifted some of my build infrastructure out of the one generated by one of the scripts shipped with parrot and it ended up that way.
20:07 masak purl: forget can anyone confirm this
20:07 purl masak: I forgot can anyone confirm this
20:08 Coke masak: did you read the docs?
20:08 masak Coke: I run it the way suggested in the docs in the file, yes.
20:08 masak Coke: do you see anything useful when you do?
20:09 Coke yes.
20:09 Coke after about generation 60.
20:09 masak oh.
20:09 masak ah, nevermind. :)
20:09 * masak is too impatient
20:09 Coke er, 45 or so.
20:10 PerlJam masak: I didn't read any instructions, I just did ./parrot examples/library/ncurses_life.pir and it worked fine for me :)
20:10 masak aye, it works here too.
20:10 masak I just didn't wait long enough before aborting. :/
20:11 Tene masak: try running with a much huger terminal, iirc
20:11 Tene the starting positions are way out in nowhere land
20:11 Tene (for an 80x25 terminal)
20:11 Tene also, O HAI MASAK
20:11 masak aye. I do 80x33. O HAI. :)
20:12 masak I found having font size 24 or so is more important for me than having many lines in my terminal...
20:12 Tene depends on the day... my default is font size 10
20:13 Tene I think, lemme check
20:13 Tene nm, font size 6
20:13 Tene 1920x1200 screen
20:13 Coke if someone is bored, that code could use some loving.
20:14 Coke looks like we did a simple translation from pasm (need more var names), and it also seems to predate using .subs
20:14 Coke (some comments)
20:14 masak examples/library/ncurses_life.pir mentions the files library/ncurses.pasm and library/ncurses.declarations, but there's no library/ directory in the parrot repo, as far as I can see.
20:15 Coke masak: probably runtime/parrot/library
20:15 Tene masak: yes, that
20:15 masak oki.
20:15 Tene masak: you interested in doing some curses stuff?
20:15 masak can I update those paths?
20:15 masak Tene: oh, yes!
20:15 Coke sure. doc updates always welcome.
20:15 masak would be nice to make this available from Rakudo.
20:15 Coke wow. could benefit from some heredocs, too.
20:15 Tene masak: use Curses:from<parrot>; works, but doesn't have proper multi variants for mv, w, mvw
20:15 masak Tene: that's great news!
20:15 Tene masak: I've also got a Curses::UI-ish port on my TODO list.
20:16 Tene masak: old news, actually. :)
20:16 masak Tene: any working Perl 6 code somewhere?
20:16 Tene Um, dunno.  I probably have some somewhere in src/
20:16 Tene on my laptop
20:16 Tene sitting here on my lap
20:16 Tene lemme make something for you.
20:17 masak \o/
20:17 moritz Tene++
20:18 masak where do I go again to see/renew my parrot SVN authentication password?
20:19 Tene bitcard?
20:19 purl bitcard is our new auth system.
20:19 moritz no
20:19 Tene you sure?
20:19 purl you sure are purdy
20:19 moritz it's the same as the trac password on trac.parrot.org
20:19 Tene ah
20:19 Tene right, we moved
20:19 masak um.
20:19 moritz Tene: that was back then when we were on perl.org
20:19 masak but I think the trac password was created for me...
20:20 moritz masak: I'm sure trac has a password recovery facility
20:20 * masak checks
20:20 nopaste "tene" at 24.10.252.130 pasted "curses demo for masak++" (9 lines) at http://nopaste.snit.ch/17161
20:21 masak Tene: coolness!
20:21 purl somebody said coolness was an essential part of PERL programming.
20:21 Tene masak: I was looking into generating a version with proper multi variants... I got partway there.
20:22 Tene Then ran into an issue with :flat and NCI
20:22 Tene which I need to parse NCI sigs to get around.
20:22 donaldh joined #parrot
20:22 hachi joined #parrot
20:23 masak Tene: it's the first time I see this, so to me it's great news.
20:23 Tene :)
20:23 Tene is your prior experience with curses with Curses.pm, or elsewhere?
20:24 Tene 'cos if Curses.pm, you need ot remember tha tit's not unified, so you do need ot use the mv, w, and mvw prefixes.
20:24 masak Tene: no, my only experience is playing roguelikes.
20:25 Tene Ah.
20:25 masak :)
20:25 Tene So, you might be interested in my plans to build a multiplayer realtime roguelike on Parrot?
20:25 Tene MUD-ish, with user-constructed content?
20:25 masak sounds wonderful.
20:26 masak I'd at least opt for a commit bit.
20:26 Tene Write behavior for NPCs and such in any parrot-supported language?
20:26 Tene Sweet.
20:26 Tene That's been one of the motivations for my pushing HLL interop, for my POE clone, and for working on Curses.
20:27 masak myself, I have a plan for a MMP text-based user-built adventure universe in Rakudo, in a few years time or so.
20:27 masak been planning that one since 2004, I think.
20:27 Tene That was part of my original plan, but then I became infatuated with the idea of combining it with my enjoyment of roguelikes.
20:28 masak aye, it's a great idea.
20:28 mikehh hey why not some opengl type stuff :-}
20:28 masak I'll give my idea some time to get infected by yours.
20:28 masak mikehh: you just don't understand... :P
20:28 Tene I also wrote a prototype in Perl 5.  It's in my github account, if you're interested.
20:29 mikehh ha - been there - done that - welkl sortof
20:29 masak Tene: will check it out.
20:29 mikehh well
20:35 mikehh I used to like playing Moria in my day
20:38 soxet joined #parrot
20:38 * masak is currently having an Angband relapse
20:39 masak my 27th-level high-elf warrior is making me really proud.
20:40 HG` joined #parrot
20:40 GeJ Good morning everyone
20:41 mikehh Another one of those people with confusing time sense
20:42 mikehh It's starting to get dark here even in midsummer in the northern hemisphere
20:43 mikehh anyway hi Gej
20:45 PerlJam It's always morning.
20:45 mikehh yes I think I am in morning :-}
20:50 japhb masak, mikehh: I can definitely see the value of OpenGL acceleration for a very old school dungeon crawl.  Check out Dungeons of Daggorath for instance.  There was a C Linux port made, with OpenGL drawing the lines; the original was written in just 8K of 6809 assembler -- including all maps, graphics, sounds, the parser, etc.
20:50 Theory joined #parrot
20:56 NotFound Surely opengl lines are brighter ;)
20:57 pmichaud fwiw, I just reported in today's call that I'm probably not going to get the "Parrot builds an install image" refactor done this week.
20:57 soxet joined #parrot
20:57 japhb NotFound: the funny thing is that OpenGL mode can seem like cheating, because the original used stippling to make faraway objects appear faded, whereas the OpenGL version just draws dimmer lines -- but the stippling made faraway objects hard to identify, and dim lines are *much* easier to identify from quite a distance.
20:57 pmichaud I'll write a message to parrot-dev summarizing what needs to be done, but Rakudo will probably go the route of tcl and want to build from an "install-dev" parrot
20:59 NotFound japhb: add some smoke
21:00 japhb NotFound: I didn't write the port ... but that's not a bad idea if I ever decide to port it to PIR or Perl 6.  :-)
21:00 NotFound japhb: youn can add it to your room ;)
21:00 japhb LOL
21:00 japhb Depending on the source of smoke, it may make *everything* harder to identify.
21:00 NotFound More value for the game
21:02 Whiteknight joined #parrot
21:02 japhb Tene: I sent you a PM a day or two ago, but in case you didn't see it -- I'm head down with a project at $work, so I'm not really hanging out; but if you need my help with anything related to the cross-HLL work (or with OpenGL, of course), please ping me, and I'll make some time for it.
21:20 hachi joined #parrot
21:23 bacek joined #parrot
21:25 Tene japhb: I got it.  I'm feeling a bit more productive today, so I might get to it.  Sorry I've been so absent.
21:25 japhb Tene: No worries.  I COMPLETELY understand.
21:26 japhb well, "completely" as in "I understand how easy it is to be absent".  Not that I know exactly what's going on in your life at the moment.  :-)
21:30 dalek TT #510 closed by pmichaud++: HLLCompiler can't '--target=parse' from installed parrot
21:33 dalek TT #762 closed by pmichaud++: parrot_config --dump: libparrot_linkflags, rpath_blib contain references ...
21:39 hercynium joined #parrot
21:42 Whiteknight hello
21:43 Austin hello, Andrew
21:44 Whiteknight hello Austin!
21:44 Whiteknight how are you doing today?
21:44 Austin Well, I'm struggling once again with null.
21:44 * Austin hates null.
21:45 chromatic You'll love aleph-null even more.
21:45 Austin I kind of figured I would love it infinitely less.
21:46 Austin I need string registers to work in order to handle null returns from a[k], and I need to handle null returns from a[k] (as part of POST::Node) before I move on to register allocation in PCT.
21:47 Whiteknight what is aleph-null?
21:47 purl aleph-null is probably the `lowest order' infinity.
21:47 Austin (Hence the "infinitely less" joke. Sorry.)
21:48 Whiteknight yay! we're telling jokes
21:48 Austin "It takes a real fashion pioneer to know that some things never go out of style. Like facial hair from the 19th century!"
21:52 Austin Hey, what's a good syntax for aggregate literals in Close? Preferably one with type support included.
21:52 Whiteknight aggregate literals? I've been begging for those in PIR for the longest time
21:52 Whiteknight I had suggested something like "type:{values}", but I dont know how easy that would be to parse
21:52 Austin Well, you didn't reall want to write code in PIR anyway, did you?
21:53 Whiteknight so like ResizableIntegerArray:{1, 2, 3, 4, 5}
21:53 Austin You'd much rather write it in Close...
21:53 Austin :)
21:53 Whiteknight haha, probably
21:53 Whiteknight i would far prefer if it was in close
21:53 Austin So no difference between hash and array literals?
21:53 Whiteknight not in my vision, no
21:53 bacek good morning #parrot
21:53 Whiteknight Hash:{"key1", value1, "key2", value2}
21:54 Austin pmc myhash = Hash:{ name: "Austin", city: "Philadelphia"} ?
21:54 Whiteknight that's my conception of it, yes
21:54 Whiteknight good morning bacek
21:55 Austin I've already got a thing for colons -- named params use them.
21:55 Whiteknight "I've got a thing for colons" <--sounds like a horrible pickup line
21:56 * Austin <3 colons.
21:56 Whiteknight you buttocks colons? :)
21:56 Austin But of course.
21:56 purl Indubitably.
21:56 Austin (ba-dum-bum)
21:57 Austin What is the right way to deal with user-specified aggregates?
21:57 Tene Austin: you're in philadelphia?
21:57 Austin Pass in all the args at once, or one at a time?
21:57 Austin Tene, South Jersey, but close enough.
21:57 Tene I was just looking at plane tickets to PHL today.  decided against, though.
21:57 Tene too short notice.
21:58 Austin If I try to initialize:  pmc foo = SomeUserClass:{ a: 1, b: 2};
21:58 Austin Tene, from where?
21:58 Tene SLC
21:58 Whiteknight Austin: that's a good question.
21:58 Whiteknight probably necessary to determine whether that type "does array" or "does hash" and populate it accordingly
21:59 Austin Is that "SomeUserClass.new( :a(1), :b(2) )" or is it "SomeUserClass.new(); foo.a(1); foo.b(2);" or something worse?
21:59 Tene I'd think the first.
21:59 Whiteknight I would actually say the second
21:59 Austin Well, since we're all agreed...
21:59 Whiteknight you don't know whether the class will have a PMC initialization routine that you expect, but if it "does array" it will handle the second
22:00 Austin I'm thinking the first.
22:00 Whiteknight okay, then do that then
22:00 Whiteknight you're in charge
22:00 Austin Wait.
22:00 Austin That's wrong.
22:00 purl Austin is channeling thoth!
22:00 Whiteknight !!!
22:00 Austin It's capabilities.
22:01 Austin Hmm.
22:02 Austin User could say "Klass.new( { literal hash } ); "
22:02 Austin But it would be hard to type "Klass.new().a(1).b(2).etc();"
22:03 Tene Austin: I just noticed yesterday that VNV Nation's tour is going to PHL on July 19.  I saw their show here last Friday.  Definitely worth going, if that's your kind of thing.
22:03 Austin So second way is better.
22:03 Tene Austin: That's a very good solution, IMO.
22:04 Austin What's VNV nation?
22:04 Whiteknight I was about to ask the same thing
22:04 Austin Electronic music band based in Hamburg, per WP.
22:04 Tene An industrial/electronica band I'm a little bit too fond of.
22:05 Tene So, perhaps not. :)
22:06 Austin :)
22:08 Austin So I'll use the same approach that PCT uses for literals - ask if there's a method, else try setting attributes, else try setting keyed, else die.
22:08 Austin Cool.
22:17 Austin How much was the air fare?
22:18 he joined #parrot
22:19 Austin About $500. Cheaper to fly than take the train.
22:21 Tene Yeah.  Not cheap enough to be convenient, though, even paying with skymiles.  I've got a girlfriend in PHL that I wanted to take to the show.
22:30 masak joined #parrot
22:31 masak I just wanted to note that after changing my trac password, trac puts me in a redirect loop when I try to log in.
22:31 Whiteknight Austin++
22:32 Tene (redirect loops)--
22:32 masak also, the random password I was assigned doesn't work for committing to Parrot.
22:32 masak so I'll paste my small patch here, and someone else can commit it.
22:32 moritz masak: have you ever committed to parrot after the move to svn.parrot.org?
22:32 masak moritz: not sure.
22:32 masak probably not.
22:33 moritz masak: maybe your account isn't activeated for commiting. Let's hilight Coke_afk about it.
22:33 Austin WhiteNight?
22:33 kid51 joined #parrot
22:34 masak http://gist.github.com/143259 # someone please have mercy on this patch :)
22:35 Whiteknight ?
22:36 rg1 joined #parrot
22:37 dalek close: r61 | Austin++ | trunk/build/Makefile.in:
22:37 dalek close: Segregated _test from build of pct code
22:37 dalek close: review: http://code.google.com/p/close/source/detail?r=61
22:37 dalek close: r62 | Austin++ | trunk/ (7 files):
22:37 dalek close: Got POST::Sub testing
22:37 dalek close: review: http://code.google.com/p/close/source/detail?r=62
22:38 moritz masak: let's see if my git-svn is configured correctly...
22:38 Infinoid joined #parrot
22:38 moritz seems to work, committed as r39952
22:38 Austin How interesting. Of course there's an +optional+slurpy, it's just bogus.
22:40 dalek parrot: r39952 | moritz++ | trunk/examples/library/ncurses_life.pir:
22:40 dalek parrot: [examples] fix paths in the POD of ncurses_life.pir. Patch by masak++
22:40 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39952/
22:40 masak grazie.
22:41 Whiteknight Austin++
22:42 Austin Whiteknight?
22:42 purl Whiteknight is mailto:wknight8111@gmail.com or the grand master funk or http://wknight8111.blogspot.com/
22:42 Whiteknight ???
22:44 Austin You're saying "Austin++" either to get my attention (which you now have) or because it rhymes with ... ?
22:45 pmichaud ++ is the "add a karma point" operator
22:45 pmichaud purl:  karma Austin
22:45 purl austin has karma of 39
22:45 pmichaud Austin++
22:45 pmichaud purl:  karma Austin
22:45 purl austin has karma of 40
22:46 Austin Okay...
22:46 pmichaud purl:  karma pmichaud
22:46 purl pmichaud has karma of 2867
22:46 Austin Can I turn my karma into frequent-flier miles, or something?
22:46 Austin (Cash? Pizza?)
22:46 pmichaud I wish.  :-)
22:46 pmichaud sometimes they might be convertible to beer
22:46 pmichaud karma leo
22:46 purl leo has karma of 1885
22:46 pmichaud karma coke
22:46 purl coke has karma of 3075
22:47 pmichaud karma dietcoke
22:47 purl dietcoke has karma of 6
22:47 pmichaud karma diet_coke
22:47 purl diet_coke has neutral karma
22:47 Austin Who or what is dietcoke?
22:52 dalek TT #821 created by Austin_Hastings++: PCT - POST::Sub::add_param() ignores +optional+slurpy parameters.
22:52 Whiteknight dietcoke is coke on a diet
22:52 Whiteknight Austin: karma is like brownie points. people give it to you when you do cool shit
22:52 purl is like brownie points. people give it to you when you do cool shit has neutral karma
22:52 Whiteknight < purl-- >
22:53 Austin And take it away, too, apparently.
22:56 Austin pmichaud: Does the preprocessor work in the c99 language?
22:58 dalek close: r63 | Austin++ | trunk/t/library/pct/POST/Node/04-sub.t:
22:58 dalek close: Tested various flavors of add_param
22:58 dalek close: review: http://code.google.com/p/close/source/detail?r=63
23:02 tetragon joined #parrot
23:02 cotto bacek_at_work, pang
23:02 bacek joined #parrot
23:02 cotto That was odd.
23:02 cotto bacek, ping
23:02 bacek cotto: pong
23:03 jrtayloriv joined #parrot
23:03 cotto What did you mean by migrating ops2c as-is?
23:03 Austin I've seen a bit of that the last few days. I think there's some kind of relay dropping and rejoining.
23:03 bacek cotto: layout/structure/etc
23:04 cotto Ok.  So you're basically saying that we should continue the direction we're headed.
23:04 bacek :)
23:05 bacek only one small change from ops2c: don't print directly to file. Use emit_something approach.
23:06 cotto Sure.
23:07 bacek ok. decommute to $dayjob. See you soonish
23:07 cotto bye
23:08 cotto clock?
23:08 purl cotto: LAX: Wed 4:08pm PDT / CHI: Wed 6:08pm CDT / NYC: Wed 7:08pm EDT / LON: Thu 12:08am BST / BER: Thu 1:08am CEST / IND: Thu 4:38am IST / TOK: Thu 8:08am JST / SYD: Thu 9:08am EST /
23:08 hercynium joined #parrot
23:08 cotto Someday I too may decide to leave for my job at 0900.
23:09 kid51 bacek:  Coke is correct.  I did not design ops2c.  The code now in Parrot::Ops2c::Utils and ::Auxiliary once existed in tools/build/ops2c.pl, unencapsulated in subroutines and therefore not amenable to deep testing.
23:11 dalek parrot: r39953 | chromatic++ | trunk/editor/skeleton.pir:
23:11 dalek parrot: [editor] Added missing quotes around main sub name in PIR skeleton file.  This
23:11 dalek parrot: is a good habit.
23:11 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39953/
23:11 cotto I wouldn't expect usage() to need much testing. ;)
23:12 athomason joined #parrot
23:12 sekimura joined #parrot
23:13 kid51 msg brbrooks Re GC:  See https://trac.parrot.org/parrot/ticket/490.  I will be applying patch for this ticket after next release.
23:13 purl Message for brbrooks stored.
23:14 Austin Cotto: clearly, your usage() lacks sufficient functionality.
23:14 kid51 msg Coke Re:  "another rant: give me a trac search that only shows non-closed tickets":  See Report #10:  https://trac.parrot.org/parrot/report/10
23:14 purl Message for coke stored.
23:15 kid51 cotto:  In the build tools, the usage() functions and the options-handling functionality were the only features not amenable to an object-oriented approach.
23:16 kid51 cotto:  So they got segregated into "Auxiliary" modules.
23:16 cotto That approach makes sense.
23:17 kid51 cotto:  At YAPC in Buffalo in 2004, I fell under petdance's spell.  "Test everything," he ranted.  "Use 'prove'."  "Use Devel::Cover."
23:17 kid51 ... and the rest is history!
23:19 Austin Anyone here grok ".lex" ?
23:19 cotto There are worse spells to fall under, although I'd argue that some parts of the build process get (almost) enough testing by the build process itself.
23:19 Austin Hey, kid51.
23:19 brbrooks joined #parrot
23:20 Austin kid51: Did you have a change to look over that TreeUnit wiki thing I posted, and if so do you have any thoughts?
23:20 Whiteknight Austin: I know .lex, what do you need?
23:20 cotto like Luthor?
23:20 Whiteknight exactly like luthor
23:20 donaldh joined #parrot
23:21 kid51 Austin:  I skimmed it, but there's a lot I don't understand.  I will have to take another look at it.
23:21 Austin Bide - nopaste coming
23:21 kid51 But I have some TT I have to prioritize.
23:22 nopaste "Austin" at 98.235.55.43 pasted "Funny use of lexicals" (22 lines) at http://nopaste.snit.ch/17165
23:22 Austin kid51: okay, thanks.
23:23 Austin WhiteKnight, cotto: In the pasted function, there is a search for $LINE, then a lexical-ization of the value(?). Then I can't tell if it gets used or not (depends if line= is assign or bind). Any clues?
23:23 amuck joined #parrot
23:24 Whiteknight thats an assign
23:25 Austin How do you know it's an assign?
23:25 confound joined #parrot
23:25 Whiteknight At least, I'm pretty sure = is assign in PIR
23:25 Whiteknight now I can't remember
23:25 pmichaud = is nearly always "set"
23:26 pmichaud it's not 'assign
23:26 Austin Yeah, about that...
23:26 Whiteknight ah, so I have it backwards in my head right now
23:26 pmichaud I don't think there's a PIR notation for assign.  If there is, it's probably :=
23:26 Whiteknight Austin: so to answer your question, that PIR function is borked
23:26 Austin Actually, I've seen both.
23:26 Austin One right after another: $P0 = new something ; $P0 = 0
23:27 Austin I assumed the =0 was an assignment, doing some kind of overloaded thing.
23:27 pmichaud the first is just 'new'
23:27 Whiteknight the = sign is syntactic sugar for PASM opcodes
23:27 pmichaud the second is 'set'
23:27 pmichaud $P0 = new something   #  new $P0, something
23:27 Whiteknight so "$P0 = new Foo" is the same as "new $P0, Foo"
23:27 pmichaud $P0 = 0         # set $P0, 0
23:28 pmichaud that PIR function is _not_ borked.
23:28 Austin Yeah, it's in PCT::Node.pir, iter = new 'Iterator', $P0 ; iter = 0
23:28 Austin What pir function?
23:28 pmichaud the one in the nopaste
23:28 Austin The one I nopasted.
23:28 pmichaud (17165)
23:28 Austin Good. So what does it do?
23:28 Whiteknight Oh, i guess it depends on the return value of the lineof method
23:29 Whiteknight actually, I'm too retarded tonight to look at code
23:29 Austin WhiteKnight, I don't think so. I think it depends on the syntaxd.
23:29 Austin *syntax
23:29 pmichaud it's the equivalent of the Perl 6:    my $line := CALLER::<$line>
23:29 jdv79 does rakudo have io yet?
23:29 pmichaud basically it's declaring a local $line lexical that is initialized to whatever contextual $line has already been established
23:29 masak jdv79: as in files? yes.
23:30 Whiteknight and sockets I think
23:30 masak well, the bare minimum in terms of sockets... :/
23:30 Austin Okay, but then there's the .lex-ification of '$LINE'. I don't see a store-lex, so is $LINE now a localized lexical alias for the "my $line" register?
23:30 pmichaud .lex always associates a lexical symbol with a register
23:31 pmichaud we don't need a separate store-lex
23:31 Austin Or is the local $LINE divergent from the register "my $line" ?
23:31 Austin Aha.
23:31 * Whiteknight is signing off now, so he doesn't give more stupid answers to questions
23:31 Austin Goodnight, WhiteKnight.
23:31 Whiteknight goodnight
23:31 brbrooks joined #parrot
23:31 pmichaud so in the PIR code,   the find_caller_lex looks through the dynamic scope for a context with a lexical named '$line', and sets line to that
23:31 Austin pmichaud: So .lex
23:31 pmichaud the next line associates '$line' in the current context with that register
23:32 Austin pmichaud: So .lex creates a link or alias from the lexpad to a register?
23:32 pmichaud alias is probably closest analogy
23:32 pmichaud lexpads in Parrot are really just register numbers
23:33 * Austin 's eyes cross.
23:33 Austin How's that?
23:33 pmichaud consider:
23:33 Austin I thought a lexpad was an allocated memory thing. A pmc.
23:33 pmichaud $P0 = new 'Foo'
23:33 Austin Ok, considering.
23:33 purl considering is was dipping below freezing just a couple weeks ago
23:33 pmichaud $P1 = $P0
23:33 pmichaud $P0 = new 'Bar'
23:33 pmichaud $P1 and $P0 point to different PMCs, yes?
23:34 Austin Yes.
23:34 pmichaud okay
23:34 pmichaud .lex '$a', $P0
23:34 pmichaud $P0 = new 'Foo'
23:34 pmichaud $P1 = find_lex '$a'
23:34 pmichaud $P1 and $P0 point to the same PMC
23:34 Austin Huh.
23:34 pmichaud also
23:34 pmichaud .lex '$a', $P0
23:35 pmichaud $P1 = new 'Foo'
23:35 pmichaud store_lex '$a', $P1
23:35 pmichaud $P1 and $P0 point to the same PMC
23:35 Austin Okay, sure.
23:35 Austin So .lex is like .local, in that it creates an alias.
23:35 pmichaud yes.
23:35 Austin For a register.
23:36 pmichaud but that alias can be modified by other called functions
23:36 Austin Does it only work with register?
23:36 pmichaud er, that register can be modified by other called functions
23:36 Austin How is that?
23:36 pmichaud .lex '$a', $P0
23:36 pmichaud foo()    #   foo is a called function that does "store_lex '$a', something"
23:37 Austin Perhaps a better question would be, how is the aliasing implemented?
23:37 pmichaud say $P0   #  points to whatever foo set it to
23:38 pmichaud lexicals are actually indexes into the register frame
23:38 Austin Does the find_lex return a "pointer to the aliased register, on the stack or in the VM" or does re-entering the scope of the aliasing function re-establish the alias between register and lexpad, or ...?
23:38 pmichaud a lexpad is a PMC that stores mapping between the symbol name and the register itself in the register frame
23:38 pmichaud find_lex returns the register itself (more)
23:39 pmichaud so in
23:39 pmichaud .lex '$a', $P0
23:39 pmichaud $P1 = find_lex '$a'    # same as $P1 = $P0
23:39 Austin Okay. And is the register frame something like the Sparc's?
23:39 pmichaud I don't know about that (not familiar with Sparc).  Each invocation of a sub allocates a new context (which contains the registers needed by the sub)
23:40 pmichaud I have to run to the grocery store to pick up some ingredients -- bbiab
23:40 Austin Okay.
23:42 dalek parrot: r39954 | jkeenan++ | trunk/t/steps (5 files):
23:42 dalek parrot: Use most traditional form of File::Path::mkpath(), as it seems to work best across all versions of Perl and File::Path.
23:42 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39954/
23:45 bacek_at_work hi again
23:45 purl oh, you're back!
23:46 bacek_at_work I'm not "back", stupid girl. I'm bacek!
23:50 rg1 *rotfl*
23:56 pmichaud back
23:58 bacek_at_work pmichaud: any objections about string interpolations in NQP?

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

Parrot | source cross referenced