Camelia, the Perl 6 bug

IRC log for #parrot, 2010-01-27

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:00 dukeleto lichtkind: the API keeps getting better
00:00 dalek TT #1410 closed by plobsing++: [DEPRECATED] 'v' as an nci argument signature
00:00 darbelo There's been setbacks. The design has mutated since.
00:01 darbelo 8 years ago, we didn't know what the right thing was.
00:01 darbelo We like to think we've pinned it down since.
00:01 darbelo :)
00:02 NotFound And if you don't know what the right thing is, you can do it by mistake. Now we avoid that ;)
00:03 chromatic We're like Perl 5 and Haskell together!  We avoid doing the right thing by mistake at all costs.
00:03 lichtkind and i thought dan had a masterplan and all roled out
00:04 darbelo I came here after dan left. So I can't speak to his master plan. All I know is I didn't get a copy.
00:04 cconstantine joined #parrot
00:04 * dukeleto didn't get a copy either
00:04 dukeleto lichtkind: are you writing an HLL on top of Parrot?
00:05 lichtkind dukeleto: no i just writing articles and end user tuts but i am interested
00:05 NotFound I though we just use the Force.
00:06 lichtkind dukeleto: when parrot has a wx binding im interested :)
00:06 Whiteknight I would love to see more "master plan" stuff documented
00:06 dukeleto lichtkind: cool! we need more end user tutorials. I am giving a talk about Parrot at PDX.pm in a few weeks, and I would love to tell people about tutorials
00:06 Whiteknight the PDDs always strike me as being hollow and partial
00:06 chromatic I haven't seen many PDDs written from the point of view of the users of the PDD.
00:07 dukeleto PDDs are necessary and useful for devs, but not mere mortals
00:07 dukeleto not saying they can't be, but that seems to be the state of things
00:07 * darbelo wonders if they work for mere mortal devs.
00:07 lichtkind im currently writing november conent but when im finished with that maybe i could write some parrot stuff to
00:07 NotFound lichtkind: wxwidgets?
00:07 purl i think wxwidgets is the new name for wxWindows, an open-source cross-platform native UI framework
00:08 lichtkind it is
00:08 lichtkind NotFound: yes
00:08 lichtkind i also write a p6 tutorial with a section about the interpreter but never wrote directly about parrot
00:09 lichtkind what you guys think is needed?
00:09 NotFound lichtkind: I don't look at it since some time. There is some C binding, or is only C++?
00:09 dukeleto slightly OT: this is a great blog post about Factor's VM: http://factor-language.blogspot.com/2010/0​1/replacing-gnu-assembler-with-factor.html
00:09 Whiteknight in many cases I've found the PDDs to be less helpful and explanatory of the "big picture" than the inline function documentation
00:09 Whiteknight of course, I wrote much inline function documentation, so I may be partial
00:09 chromatic I've generally found the PDDs to explain *what* to implement, not how or why.
00:09 lichtkind NotFound: its written in c++ and has a huuuge API ask mattia he uses M4 scripts to assemble this whole stuff
00:10 Whiteknight chromatic: maybe I'm tainted by PDD09, which is little more than a rehash of the inline function documentation of src/gc/api.c
00:10 chromatic No kidding.
00:10 lichtkind yeah factor ist one of my interests
00:11 dukeleto lichtkind: would you like to work on Factor on Parrot? http://github.com/leto/kea
00:11 dukeleto lichtkind: do you have a github username? i can give you a bit
00:12 lichtkind dukeleto: no becaue a) i dont know factor enough and b) my project called kephra is very time consuming
00:12 dukeleto lichtkind: no worries. Kephra the editor?
00:13 lichtkind dukeleto: yes my baby
00:13 dukeleto lichtkind: cool
00:13 Whiteknight GSOC 2010 just got confirmed. We should come up with a list of projects
00:14 Whiteknight I would love to see AIO, Threads, JIT, Optimizations, Lorito, and other cool projects get mentioned
00:15 chromatic AIO and Lorito seem compelling.  Maybe a GC.
00:15 plobsing can miniparrot run nqp?
00:15 chromatic Speaking of GC, we really need to get that underway for Rakudo.
00:16 cconstantine I'm most interested in seeing threads.. one of my plans for Reason is to include some kind of clojure style STM
00:17 dukeleto Whiteknight: interesting! RTEMS and other embedded projects are very possible
00:17 Whiteknight what about the RTEMS port needs a summers-worth of work?
00:18 lichtkind what is miniparrot?
00:18 purl it has been said that miniparrot is segfaulting in the branch now, didn't last time I looked at it
00:18 dukeleto lichtkind: kind of like miniperl, a bootstrap-ish parrot that has very little or no loading of dynamic code
00:18 plobsing lichtkind: miniparrot is parrot minus some features. used in the build. not for end users really.
00:18 lichtkind purl: that doenst help me
00:18 purl lichtkind: huh?
00:18 chromatic purl, miniparrot?
00:18 purl it has been said that miniparrot is segfaulting in the branch now, didn't last time I looked at it
00:18 dukeleto lichtkind: purl is a sassy bot
00:19 chromatic purl forget miniparrot
00:19 purl chromatic: I forgot miniparrot
00:19 chromatic botsnack
00:19 purl :)
00:19 dukeleto purl, die in a fire
00:19 purl HALP
00:19 darbelo Whiteknight: Getting Configure in shape to support cross-compiling is at least half a summer.
00:19 Whiteknight ah, a cross-compiling configuration system would be hot
00:19 chromatic purl, miniparrot is Parrot minus some features for use in the build. It's not for end users.
00:19 purl OK, chromatic.
00:19 dukeleto Whiteknight darbelo: cross-compiling support is now holding up porting Parrot to at least 2 embedded platforms
00:20 Whiteknight chromatic: no way in hell we're getting in a good GC before Rakudo*
00:20 dukeleto i got word that I will get sample hardware from http://www.buglabs.net/ so I can port Parrot to their embedded linux distro. they are very nice folks
00:20 lichtkind dukeleto: i thought you have an parrot docs why need additional doku?
00:20 chromatic Whiteknight, I think it's doable.
00:20 dukeleto lichtkind: say what?
00:20 purl it has been said that say is the new println
00:21 darbelo dukeleto: Given that I'll be attending a workshop on embedded platforms next month, I'm pretty much interested in getting parrot there.
00:21 dukeleto oh println, probably the first function I ever invoked
00:21 Whiteknight chromatic: then we need a solid plan. Something less nebulous than "I think it has to be generational"
00:21 dukeleto darbelo: which workshop?
00:21 lichtkind dukeleto: what kinf of docs you exaclty miss for parrot?
00:21 dukeleto darbelo: congrats, you are on the Parrot+BUG team!
00:21 Whiteknight chromatic: we need a specific algorithm and a list of steps needed to implement it
00:22 dukeleto lichtkind: we need a nice end-user doc for "how to start a new language with Parrot"
00:22 Whiteknight writing the GC never takes nearly as long as debugging it
00:22 dukeleto lichtkind: a guide to using NQP-based tools. we had a squaak tutorial, but it is now outdated
00:22 darbelo The one in the SASE, it's based on mbed's cortex M3 boards.
00:23 chromatic I'm happy to write an algorithm; it's encapsulating the current GC to make it possible to switch between the two that trips me.
00:23 cconstantine speaking of making languages how would I go about adding members to my HLL compiler?
00:23 lichtkind darbelo: what is SASE?
00:23 purl hmmm... SASE is Self Addressed Stamped Envelope
00:24 plobsing purl++ # for once
00:24 lichtkind purl that doesnt help either
00:24 purl lichtkind: excuse me?
00:24 darbelo Oh, of course. "Simposio Argentino de Sistemas Embebidos"
00:25 lichtkind dukeleto: got it, if i had a clone i would write rebol compiler for parrot but im writing a parrot page in the november wiki for the start
00:25 darbelo It's a big event to promote embedded systems development in academia. So to speak.
00:25 dukeleto lichtkind: sounds like a good start
00:26 dukeleto darbelo: so you will be there to represent Parrot? Awesome!
00:26 Whiteknight chromatic: I'm looking at bacek's gc_encapsulate branch now, does that do what you need?
00:26 chromatic I don't know.
00:26 bacek_at_work it does.
00:26 purl if you say so...
00:26 darbelo dukeleto: Not really. It's a "Show academia what the industry's been up to" kind of event.
00:26 bacek_at_work We can properly use Boehm GC after this branch
00:27 Whiteknight bacek_at_work: okay, nice. I'm lookig at the diff now
00:27 chromatic Heh, "properly"
00:27 Whiteknight chromatic: I would love to see some profile and benchmark information about the string compactor if you have that info
00:27 bacek_at_work chromatic, yes. Without branch we can't pass memory layout to Boehm
00:28 Whiteknight bacek: have you tried it with Boehm?
00:28 darbelo dukeleto: As a studen't I'm on the academia side. I'm going there to learn what the industry's been up to.
00:28 bacek_at_work Whiteknight, not yet. It's not finished.
00:29 Whiteknight bacek_at_work: ah, right
00:29 ash_ joined #parrot
00:33 chromatic String compactor?
00:34 dukeleto darbelo: sounds good. try to get free samples of hardware :)
00:34 darbelo I'll keep an eye out for unguarded cortex boards ;)
00:36 Whiteknight chromatic: src/gc/alloc_resources.c, especially compact_pool(), alloc_new_block() and mem_allocate()
00:36 dukeleto darbelo: good man!
00:39 ash_ what kind of hardware?
00:42 darbelo The workshop will be based on the mbed cortex-M3.
00:42 darbelo But I'm not picky whn I'm begging. ;)
00:43 ash_ i know someone that just got one
00:43 lichtkind joined #parrot
00:44 lichtkind was speaking so much about kicking and was kicked out of the internet
00:44 lichtkind have take more care of my jedi powers
00:44 ash_ an mbed, he's got some version of python running on it, which i thought was kinda cool
00:45 lichtkind hm the chatlogs says that my last comment didnt made it
00:45 lichtkind dukeleto: its a chain of kicking the ass, i as a november user kick masak for all the missing feature, he kicks jonathan because whats missing in rakudo to develope november and he kicks patrick because PCT and he kicks you :)
00:53 cconstantine is anyone else having problems getting to http://www.parrotcode.org
00:53 sri joined #parrot
00:54 darbelo cconstantine: In an ideal workld everyone would have trouble getting to parrotcode.org
00:54 darbelo That site's obsolete.
00:54 cconstantine oh?
00:54 cconstantine I'm looking for a reference for hte PAST types
00:55 darbelo You'll have a better chance on parrot.org, maybe.
00:55 darbelo And on that note I depart on the hunt for foods.
01:00 dukeleto lichtkind: recursive ass-kicking is quite effective
01:00 dukeleto yet another reason to kill parrotcode.org
01:00 dukeleto it *really* confuses people
01:02 abqar joined #parrot
01:06 Whiteknight NFG and a strings refactor might be a good project idea
01:09 dukeleto Whiteknight: New Found Glory are getting into the VM game now?
01:15 payload joined #parrot
01:20 cconstantine is there anyway to define multi methods in the PAST?
01:20 lichtkind good night
01:21 cconstantine 'night
01:32 lichtkind thanks
01:40 Whiteknight dukeleto: I don't see why not. Is there anything those guys can't do?
01:42 brooksbp joined #parrot
02:15 payload joined #parrot
02:15 theory joined #parrot
02:15 payload joined #parrot
02:29 dukeleto 'ello
02:34 JimmyZ joined #parrot
02:35 nopaste "JimmyZ" at 61.144.177.86 pasted "parrot make error on Win32 with strawberry perl again and again" (10 lines) at http://nopaste.snit.ch/19379
02:50 JimmyZ oh,it's my mistake
02:52 dalek tapir: 11f686d | dukeleto++ | TODO:
02:52 dalek tapir: Update TODO
02:52 dalek tapir: review: http://github.com/leto/tapir/commit/11​f686d0c299150a40a1493659ef2ab8e8f47549
02:55 plobsing what's the best (easiest) way to do table driven code (HoH) with core parrot tools?
03:06 cotto What manner of hackery has entered into your mind?
03:06 cotto You can put subs into a hash if you're in PIR.
03:07 cotto nm.  brainfail
03:07 plobsing cotto: I want to convert tools/build/nativecall.pl into something executable by miniparrot
03:07 plobsing cotto: I think I've settled on using data_json
03:09 theory dukeleto: ping
03:12 * JimmyZ wonders why nobody took a look at his ticket
03:15 dukeleto theory: thong
03:16 dukeleto JimmyZ: which ticket?
03:16 JimmyZ dukeleto: It's outdated now.
03:16 dukeleto plobsing: data_json sounds like it could be a good fit
03:17 dukeleto theory: can pgtap do what i want to do?
03:18 JimmyZ dukeleto: just some patches.
03:19 cconstantine soooo, tailcall is hard to use from the PAST
03:20 theory dukeleto: Yes
03:20 theory dukeleto: First, the description argument must be text
03:21 theory dukeleto: Second, you must compare apples to apples.
03:21 theory dukeleto: so
03:21 theory elect is(test_float(), 1.0::float,'1e-6');
03:21 dukeleto theory: examples please! maybe not here
03:26 JimmyZ joined #parrot
03:27 ash_ does parrot support multi-methods?
03:28 cconstantine ash_: yes, dispatched based on type
03:28 cconstantine http://docs.parrot.org/parrot/latest/html​/docs/book/pir/ch06_subroutines.pod.html
03:29 ash_ ah, i see the section yes, thanks
03:29 cconstantine :)
03:36 dalek parrot: r43613 | coke++ | trunk (3 files):
03:36 dalek parrot: remove deprecated Parrot_call_method_ret_float (TT #1145)
03:36 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43613/
03:36 dalek parrot: r43614 | coke++ | trunk (3 files):
03:36 dalek parrot: remove deprecated Parrot_call_method_ret_int (TT #1145)
03:36 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43614/
03:43 cconstantine joined #parrot
03:45 dalek plparrot: c57e0e8 | dukeleto++ | t/test.sql:
03:45 dalek plparrot: Improve casting-fu in our tests, and add a few. Thanks for help from theory++
03:45 dalek plparrot: review: http://github.com/leto/plparrot/commit/c​57e0e8886e9e8fc2a7fd8f13f5d82e089126041
03:51 ash_ left #parrot
03:53 dalek parrot: r43615 | coke++ | trunk (5 files):
03:53 dalek parrot: remove deprecated Parrot_call_method (TT #1145)
03:53 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43615/
03:53 dalek parrot: r43616 | coke++ | trunk/MANIFEST.SKIP:
03:53 dalek parrot: regenerate.
03:53 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43616/
03:53 dalek parrot: r43617 | coke++ | trunk (3 files):
03:53 dalek parrot: remove deprecated Parrot_call_sub_ret_float (TT #1145)
03:53 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43617/
04:09 dalek parrot: r43618 | coke++ | trunk/DEPRECATED.pod:
04:09 dalek parrot: remove lack of list.
04:09 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43618/
04:20 ttbot Parrot trunk/ r43620 i386-linux-thread-multi make error http://tt.ro.vutbr.cz/file/cmdout/186501.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
04:23 Coke cotto: the windows build was fine earlier.
04:24 Coke Did you just rebreak it, or just remove a useless change?
04:24 cotto the latter
04:24 purl i heard the latter was better
04:24 ttbot Parrot trunk/ r43621 i386-linux-thread-multi make error http://tt.ro.vutbr.cz/file/cmdout/186532.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
04:24 cotto or so I thought
04:25 Coke heh.
04:25 dalek plparrot: d2b78ea | (David E. Wheeler)++ | Makefile:
04:25 dalek plparrot: Configure `psql` in the `Makefile`
04:25 dalek plparrot: This is so that you don't have to do as much in the test scripts. But we might anyway, as it probably will make sense to switch to PGXS for this stuff. It's currently underused.
04:25 Coke ttbot is also a master of timing.
04:25 purl okay, Coke.
04:25 dalek plparrot: review: http://github.com/leto/plparrot/commit/d​2b78eaf5f52dfe4fa7d3579feef2f3ffdc3e3bf
04:25 dalek parrot: r43619 | plobsing++ | trunk/compilers/data_json/Rules.mak:
04:25 dalek parrot: fix building data_json
04:25 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43619/
04:25 dalek parrot: r43620 | cotto++ | trunk/src/packfile.c:
04:25 dalek parrot: [packfile] fix some compiler warnings
04:25 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43620/
04:25 dalek parrot: r43621 | cotto++ | trunk/lib/Parrot/H2inc.pm:
04:25 dalek parrot: [h2inc] revert an earlier failed attempt to fix the win32 build
04:25 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43621/
04:26 cotto '20 definitely had some extra stuff in it
04:27 cotto svn--
04:29 cotto but I should know better than to keep two sets of unrelated changes in the copy I commit from
04:29 smash_ joined #parrot
04:42 dalek parrot: r43622 | cotto++ | trunk/src/packfile.c:
04:42 dalek parrot: [packfile] back out some inadvertent changes
04:42 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43622/
04:42 dalek parrot: r43623 | coke++ | trunk/DEPRECATED.pod:
04:42 dalek parrot: truth in advertising.
04:42 purl truth in advertising is probably good
04:42 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43623/
05:17 dukeleto cotto: one day you will love the "git stash" command
05:19 cotto I love it now.
05:22 bacek joined #parrot
05:25 dukeleto cotto: ah, you have seen the light
05:25 cotto As far as I'm concerned, Parrot can't switch to git soon enough.
05:26 dukeleto cotto++
05:26 cotto but there are other concerns
05:26 dukeleto like what?
05:26 dukeleto i have been working on the wiki page
05:27 cotto making sure most (ideally all) other active developers are ready and ensuring that the integration tools we want to use exist and are mature
05:27 cotto dukeleto++ for the wiki work
05:30 dukeleto cotto: i totally agree. i am willing to be "the goto" guy for all that
05:31 dukeleto i just went through it at $work, and we have a way more complicated setup than parrot will need
05:31 dukeleto trac integration is key
05:31 dukeleto nothing can happen until trac has proper git integration
05:32 cotto yup.  From what I can tell that's the main issue that needs to be addressed.
05:32 dukeleto our ticket system is oblivious to our version control system at work, so that wasn't an issue
05:33 cotto sounds charming
05:36 dukeleto our ticket system was written while the company was still on RCS, so that is a good thing
05:37 cotto Would there be any advantage to hosting it ourselves rather than using github?
05:37 dukeleto cotto: github would just be a mirror. we would probably want to use all the free git mirror services as well as running our own box
05:38 dukeleto i just mirror parrot on github because it is a nice interface. i also put stuff on http://leto.net/gitweb/
05:38 dukeleto when github is down, i use that
05:39 dukeleto and i have an alias called "git spread" which pushes to multiple remotes, so you don't have to think about it
05:43 cotto I hadn't thought about that, but that makes sense.
05:49 abqar joined #parrot
06:31 cognominal joined #parrot
06:33 dukeleto the postgres and parrot header files do not like each other
06:35 TiMBuS joined #parrot
06:37 dukeleto anybody have any clue how to get around this? http://gist.github.com/287597
06:37 dukeleto parrot and postgres both define some gettext functions that collide, as well as List, Buffer, Hash and PANIC
06:46 * dukeleto listens to some crickets
06:50 cognominal joined #parrot
06:52 cotto Oh C.  What a wacky language you are.
06:52 dukeleto yeah buddy
06:53 dukeleto namespaces? what the hell are those for?
06:53 cotto losers
06:53 cotto that's what
06:53 purl That's *WRONG!*
06:54 cotto urg
06:55 cotto good luck
06:55 purl You'll need it.
06:55 cotto and good night
06:58 dukeleto objective C at least has some nice stuff: http://stackoverflow.com/questions/1​78434/what-is-the-best-way-to-solve-​an-objective-c-namespace-collision
07:00 chromatic joined #parrot
07:02 dukeleto chromatic: hola!
07:02 dukeleto chromatic: got any tuits you could lend me for this? http://gist.github.com/287597
07:03 dukeleto smolder is still geb0rken
07:04 mikehh joined #parrot
07:09 chromatic Will take a look.
07:15 dukeleto chromatic: thanks!
07:15 chromatic ugh.
07:16 dukeleto i am attempting to get PL/Parrot to compile
07:16 chromatic I don't think Parrot should export Hash and List.
07:16 dukeleto and i ran into that
07:16 dukeleto yes, please and thank you!
07:16 chromatic That probably means we have to exclude including those headers from whatever you're including.
07:16 fperrad joined #parrot
07:17 dukeleto parrot.h, config.h, embed.h and runcore_api.h is what i am including
07:17 purl somebody said including was fine for files that just define some const. Using it as an attempt of quick load_bytecode is wrong.
07:18 dukeleto chromatic: does that incur the dep cycle?
07:18 chromatic Can't see how it would.
07:18 chromatic Drop parrot.h.
07:19 dukeleto parrot.h is required to be loaded for the others to work
07:20 dukeleto i get a bazillion errors, otherwise
07:21 dukeleto chromatic: for instance, this makes the docs/embed.pod example compile: http://gist.github.com/287626
07:21 dukeleto chromatic: should i commit that, or are you saying that including parrot.h is wrong?
07:21 chromatic I think including parrot.h is wrong.
07:21 chromatic What if you include config.h, embed.h, and extend.h?
07:23 dukeleto chromatic++
07:24 dukeleto odd, it seems that docs/embed.pod does compile. i must have been lost in a twisty maze
07:26 chromatic parrot.h is prime real estate though.  It's tempting to use.
07:29 dukeleto yeah, i was like "that sounds like it can solve my problems" .... THUNK
07:29 chromatic Everything you want... and MORE.
07:35 dukeleto Undefined symbols: "_Parrot_new", referenced from:
07:36 dukeleto oops
07:42 chromatic Probably something we need to put in extend/embed.h
07:42 dukeleto chromatic: what, exactly, needs to be in there?
07:43 chromatic Whatever symbols you're missing, if you should be using them.
07:43 dukeleto i think that error is because I am not giving the correct link flags
07:44 dukeleto i am trying to figure out how to tell pg about parrot_config{ldflags}
07:46 dukeleto but maybe i am wrong
07:49 chromatic Sounds right to me; that sounds like a linking error.
07:50 dukeleto i can't find where to wedge in "-L/usr/local/lib -L/opt/local/lib -L/Users/leto/svn/parrot/blib/lib" into pg's buildchain
07:52 dukeleto hmmm
07:53 dukeleto i put it in the correct place, but _Parrot_new is still not defined
07:54 chromatic You also need -lparrot
07:54 dukeleto chromatic++
07:55 dukeleto it compiles! ::a screaming goes across the sky::
07:56 dukeleto we now have a postgres language which creates a parrot interpreter for each backend connection. it is a start
07:58 chromatic A screaming *comes* across the sky.
07:58 dukeleto depends on where you are due to doppler shift
07:58 chromatic I'm telling you what my book says.
08:01 dukeleto chromatic: sounds good ;)
08:02 wagle dukeleto: parser done
08:02 dukeleto wagle: !!!
08:03 dukeleto wagle: show me the code or it didn't happen
08:03 iblechbot joined #parrot
08:03 wagle all 112 lines of it?  here?
08:03 dukeleto pastebin?
08:03 purl rumour has it pastebin is see nopaste. or see shadowpaste
08:03 dukeleto nopaste?
08:03 purl i heard nopaste was 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
08:04 dukeleto do we have enough pastebin solutions?
08:04 nopaste "wagle" at 173.50.248.236 pasted "ta da!" (118 lines) at http://nopaste.snit.ch/19380
08:05 wagle hardly nice haskell code, but it parses scheme
08:05 wagle strings to values to programs
08:06 wagle its more 20 year old scheme written in bad haskell, but i'll refactor it later
08:06 dukeleto wagle: looks nice, like a big steak
08:06 wagle now, i just have to translate the programs to pir
08:08 dukeleto wagle: SMOP, indeed
08:08 wagle oh wait..  shag is this: http://www.youtube.com/watch?v=9T1v​fsHYiKY&feature=player_embedded#
08:09 wagle SMOP?
08:09 purl SMOP is a Simple Meta Object Programming or Simple Matter of Programming at http://www.perlfoundation.org/perl6/index.cgi?smop or http://people.debian.org/~ruoso/SMOP.pdf
08:09 wagle The requested URL /~ruoso/SMOP.pdf was not found on this server.
08:09 dukeleto sucks
08:10 dukeleto purl, no SMOP is Simple Meta Object Programming or Simple Matter of Programming at http://www.perlfoundation.org/perl6/index.cgi?smop
08:10 purl OK, dukeleto.
08:10 wagle oh, first url worked..  8)
08:10 dukeleto yeah, that was the intended meaning
08:11 wagle the video visualizes the SMOP
08:12 dalek plparrot: 7c91019 | dukeleto++ | src/handler/Makefile:
08:12 dalek plparrot: Get the proper Parrot include directory from parrot_config
08:12 dalek plparrot: review: http://github.com/leto/plparrot/commit/7​c9101986aef25a0a6cc8f3455e9617f804ddc88
08:12 dalek plparrot: d7fafb8 | dukeleto++ | Makefile:
08:12 dalek plparrot: Fix typo in 'make install' target
08:12 dalek plparrot: review: http://github.com/leto/plparrot/commit/d​7fafb877000ea7d01315b568301f5a7f363f42b
08:12 dalek plparrot: 1f33383 | dukeleto++ | src/handler/ (2 files):
08:12 dalek plparrot: Include Parrot header files and create an interpreter object
08:12 dalek plparrot: This commit is a big milestone! It opens up many possibilities, such as
08:12 dalek plparrot: reading .pbc files, calling Parrot API functions and perhaps talking to
08:12 dalek plparrot: some kind of persistent Parrot.
08:12 dalek plparrot: review: http://github.com/leto/plparrot/commit/1​f33383ef619c05fe57ecfdb79f420ba2c82f20b
08:13 wagle by the way, I wrote all that this evening..  B-)
08:14 wagle darn, i need about 3-5 more hours, and I will crash in 1 or so
08:15 cognominal joined #parrot
08:16 wagle main thing about pir is you have to generate temporaries?
08:17 * wagle is frantically trying to find a way to get factorial running in 1-2 hours
08:18 chromatic You should write in Haskell.  Haskell's a great language for writing simple mathematical functions like factorial or Fibonacci.
08:19 wagle ... and compilers
08:19 wagle ... to run factorial functions
08:19 chromatic I almost wrote "whoosh".
08:19 chromatic The first serious Haskell code I wrote, I found a bug in its garbage collector.
08:20 wagle ewww
08:20 wagle when was that?
08:20 wagle which haskell?
08:21 wagle what was cool here was the parser just worked once I got it to compile
08:21 chromatic GHC 6.8?  6.4?  It was in 2005 or 2006.
08:21 chromatic 2005, I think.
08:21 wagle recent enough to shake head and wonder
08:22 dukeleto you get what you pay for
08:22 japhb joined #parrot
08:22 dukeleto japhb: jolly good localtime()
08:23 japhb o/
08:25 dukeleto PL/Parrot compiles on OpenBSD, ubuntu and OS X. pretty cool
08:25 japhb indeed, that's excellent news
08:29 dalek plparrot: 35d5c12 | dukeleto++ | PLATFORMS:
08:29 dalek plparrot: Update platforms with my data point
08:29 dalek plparrot: review: http://github.com/leto/plparrot/commit/3​5d5c12f40376eb0534140672e0d3973bd18e5e9
08:29 jjore joined #parrot
09:14 Piper joined #parrot
09:14 Piper Hi there.  I am Piper.  I am now publicly logging this channel.  If you don't want to be logged, please leave now.
09:46 bacek joined #parrot
09:47 Piper joined #parrot
09:47 Piper Hi there.  I am Piper.  I am now publicly logging this channel.  If you don't want to be logged, please leave now.
09:52 wagle can you set a pmc to 10?
09:53 Piper joined #parrot
09:53 Piper Hi there.  I am Piper.  I am now publicly logging this channel.  If you don't want to be logged, please leave now.
09:54 wagle hmm
09:54 wagle diediedie!
09:55 mikehh joined #parrot
09:55 Piper joined #parrot
09:55 Piper Hi there.  I am Piper.  I am now publicly logging this channel.  If you don't want to be logged, please leave now.
09:56 wagle nudge
09:57 Piper joined #parrot
09:57 Piper Hi there.  I am Piper.  I am now publicly logging this channel.  If you don't want to be logged, please leave now.
10:02 rblasch joined #parrot
10:03 Piper joined #parrot
10:03 Piper Hi there.  I am Piper.  I am now publicly logging this channel.  If you don't want to be logged, please leave now.
10:06 dalek parrot: r43624 | mikehh++ | trunk/MANIFEST.SKIP:
10:06 dalek parrot: Regenerate MANIFEST.SKIP
10:06 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43624/
10:07 Piper joined #parrot
10:07 Piper Hi there.  I am Piper.  I am now publicly logging this channel.  If you don't want to be logged, please leave now.
10:17 Piper joined #parrot
10:17 Piper Hi there.  I am Piper.  I am now publicly logging this channel.  If you don't want to be logged, please leave now.
10:24 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#31937), fulltest) at r43624 - Ubuntu 9.10 i386 (gcc with --optimize)
10:24 Piper joined #parrot
10:24 Piper Hi there.  I am Piper.  I am now publicly logging this channel.  If you don't want to be logged, please leave now.
10:59 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#31938), fulltest) at r43624 - Ubuntu 9.10 i386 (g++ with --optimize)
10:59 Piper joined #parrot
10:59 Piper Hi there.  I am Piper.  I am now publicly logging this channel.  If you don't want to be logged, please leave now.
11:13 mikehh All tests PASS (pre/post-config, smoke (#31939), fulltest) at r43624 - Ubuntu 9.10 i386 (gcc)
11:14 Piper joined #parrot
11:14 Piper Hi there.  I am Piper.  I am now publicly logging this channel.  If you don't want to be logged, please leave now.
11:35 mikehh All tests PASS (pre/post-config, smoke (#31941), fulltest) at r43624 - Ubuntu 9.10 i386 (g++)
11:35 Piper joined #parrot
11:35 Piper Hi there.  I am Piper.  I am now publicly logging this channel.  If you don't want to be logged, please leave now.
11:44 payload joined #parrot
11:45 Piper joined #parrot
11:45 Piper Hi there.  I am Piper.  I am now publicly logging this channel.  If you don't want to be logged, please leave now.
11:56 Piper joined #parrot
11:56 Piper Hi there.  I am Piper.  I am now publicly logging this channel.  If you don't want to be logged, please leave now.
11:59 preflex joined #parrot
11:59 Piper joined #parrot
11:59 Piper Hi there.  I am Piper.  I am now publicly logging this channel.  If you don't want to be logged, please leave now.
12:07 Piper joined #parrot
12:07 Piper Hi there.  I am Piper.  I am now publicly logging this channel.  If you don't want to be logged, please leave now.
12:08 bacek fperrad++ # Reporting bug "fixed" in r43625
12:08 Piper joined #parrot
12:08 Piper Hi there.  I am Piper.  I am now publicly logging this channel.  If you don't want to be logged, please leave now.
12:09 Infinoid hmm
12:09 bacek Infinoid?
12:09 purl Infinoid is Mark Glines <mailto:mark@glines.org> or likes shiny things or the master of the universe
12:09 Infinoid bacek!
12:09 bacek Infinoid!!!
12:09 purl it has been said that infinoid is Mark Glines <mailto:mark@glines.org> or likes shiny things or the master of the universe
12:09 Infinoid hai :)
12:09 bacek bacek?
12:09 purl you are THE MANIAC or some sort of magical coding robot
12:09 Piper joined #parrot
12:09 Piper Hi there.  I am Piper.  I am now publicly logging this channel.  If you don't want to be logged, please leave now.
12:09 bacek heh
12:10 Piper joined #parrot
12:10 Piper Hi there.  I am Piper.  I am now publicly logging this channel.  If you don't want to be logged, please leave now.
12:10 moritz Hi there. I am Moritz. I'll ban Piper if he continues to unnerv us
12:11 bacek moritz, do it. Do it NOW
12:11 Piper joined #parrot
12:11 Piper Hi there.  I am Piper.  I am now publicly logging this channel.  If you don't want to be logged, please leave now.
12:12 Infinoid moritz++
12:13 Infinoid I suspect it's filled up its disk
12:15 bacek I think piper is even less useful than purl.
12:16 cconstantine joined #parrot
12:16 dalek parrot: r43625 | bacek++ | trunk/src/pmc/orderedhash.pmc:
12:16 dalek parrot: Fix OrderedHash to unbreak Lua.
12:16 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43625/
12:17 mikehh joined #parrot
12:31 dalek TT #1417 closed by bacek++: src/pmc/orderedhash.pmc errors
12:33 ruoso joined #parrot
12:37 mikehh bacek: ping
12:38 bacek mikehh, pong
12:39 mikehh bacek: I set up two branches 1 to remove deprecated VTABLEs amd 2 to move core to dynpmcs as requested by chromatic
12:39 mikehh feel free to work in them
12:40 mikehh I still need to figure what is required
12:41 bacek mikehh, I don't think that we need branch for removing deprecated VTABLEs. It can be done in trunk.
12:41 bacek btw, can you kill orderedhash_revamp branch? It was merged into trunk.
12:41 mikehh bacek: sure
12:42 bacek karma jimmy
12:42 purl jimmy has karma of 98
12:42 bacek karma jimmyz
12:42 purl jimmyz has karma of 14
12:43 bacek jimmy++ than
12:44 mikehh I am not sure about bitwise VTABLE functions which should be replaced with dynpmcs before removing
12:44 mikehh but will work on that in the move_core_to_dynpmcs branch or shopuld I create another
12:47 dalek TT #1396 closed by bacek++: [patch]changed two PMCs to use GET_ATTR syntax
12:48 bacek mikehh, erm... How we can replace VTABLE with dynpmcs?
12:48 bacek and do we have list of deprecated VTABLEs?
12:48 dalek parrot: r43626 | bacek++ | trunk/src/pmc (2 files):
12:48 dalek parrot: Apply patch to migrate Coroutine and Continuation to use
12:48 dalek parrot: GET_ATTR/SET_ATTR from TT#1396
12:48 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43626/
12:52 mikehh bacek: from DEPRECATED.pod -
12:52 mikehh All bitwise VTABLE functions [eligible in 2.1]
12:52 mikehh All bitwise VTABLE functions (all VTABLE functions containing C<bitwise> in
12:52 mikehh their names) will be removed.  Equivalent functionality will by supplied by
12:53 mikehh bitwise dynops.
12:53 bacek yay. dinops, not dynpmc
12:53 mikehh so should we have a branch for that?
12:54 bacek in this case - yes.
12:54 bacek there are 40 such functions
12:56 bacek holy... It's almost tomorrow again...
12:56 mikehh timezone pressure: I am on UTC/GMT
12:57 bacek clock?
12:57 purl bacek: LAX: Wed 4:57am PST / CHI: Wed 6:57am CST / NYC: Wed 7:57am EST / LON: Wed 12:57pm GMT / BER: Wed 1:57pm CET / IND: Wed 6:27pm IST / TOK: Wed 9:57pm JST / SYD: Wed 11:57pm EST /
12:59 * mikehh on LON time although I am in Aberdeen in Scotland
13:05 mikehh fulltest - testr FAIL - t/pmc/eval.t - Failed test:  12 - see TT #1142
13:05 mikehh all othertests PASS (pre/post-config, make corevm/make coretest, smoke (#31947), fulltest) at r43625 - Ubuntu 9.10 amd64 (gcc with --optimize)
13:06 mikehh the test fails with gcc builds but not g++ builds - I commented on TT #1142
13:07 mikehh and it passes on i386 - only fails on amd64 - for me
13:18 tetragon joined #parrot
13:21 dalek parrot: r43627 | mikehh++ | trunk/src/pmc/coroutine.pmc:
13:21 dalek parrot: fix codetest failure - trailing whitespace
13:21 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43627/
13:23 whiteknight joined #parrot
13:28 whiteknight good morning #parrot
13:30 patspam joined #parrot
13:31 Austin Good Morning, Whiteknight
13:31 Austin How's Xander today?
13:32 whiteknight probably tired, since he didn't sleep at all last night
13:32 Austin LOL
13:32 Austin And you know this, which kind of suggests that you got as much sleep as he did?
13:32 whiteknight which is also how I know he must be tired
13:32 purl okay, whiteknight.
13:33 Austin It's never to early too early to start slipping him a little whiskey just before bedtime...
13:37 Austin Today's word of the day: artiodactyl
13:37 Austin An artiodactyl has an even number of toes on each foot. I am not an artiodactyl.
13:38 Austin I am a perissodactyl.
13:44 whiteknight I've learned something new today (Re: artiodactyl)
13:44 whiteknight Austin: I'm looking for some good examples of Kakapo in use. You have any?
13:45 patspam joined #parrot
13:47 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#31951), fulltest) at r43627 - Ubuntu 9.10 amd64 (g++ with --optimize)
13:49 cconstantine would people be upset if I attempted to add optional automatic tailcall optimization to pct?
13:50 moritz cconstantine: don't think so, we're fairly liberal
13:50 moritz cconstantine: just test that the major HLLs (rakudo, cardinal) don't break
13:50 cconstantine cool.  No idea if I can do it, and I would expect it to go through review and all that
13:51 cconstantine I'm picturing it as a 'must turn on' feature, so it shouldn't affect those HLLs (still worth testing)
13:51 mikehh we learn from attempts - even if they fail, but hopefully not (failing I mean)
13:51 moritz cconstantine: pmichaud would be a good person to talk to, he wrote much (nearlly all?) of PCT
13:51 cconstantine ok
13:51 moritz cconstantine: right, PCT has stages - you could just implement another stage
13:51 cconstantine mikehh: agreed
13:51 moritz and the opt-in would be to enable that stage
13:51 cconstantine exactly
13:51 moritz go for it!
13:52 cconstantine w000!
13:52 cconstantine ok, well not now
13:52 cconstantine I'm kinda sorta at work
13:53 Coke wow, I got dropped from the list of major HLLs. =-)
13:53 * Coke *sighs*.
13:53 cconstantine who's you?
13:53 dalek parrot: r43628 | mikehh++ | branches/orderedhash_revamp:
13:53 dalek parrot: branch has been merged into trunk
13:53 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43628/
13:55 moritz Coke: major HLLs *using PCT*
13:55 mikehh Coke: who would do a thing like that?
13:55 moritz Coke: last I remembered partcl didn't use PCT - but I might be wrong, of course
13:56 whiteknight cconstantine: I am interested in writing some optimizations for PCT as well
13:56 cconstantine whiteknight: cool
13:57 whiteknight There should be a way to hot-plug optimization steps in explicitly if needed
13:57 cconstantine optimizations are tricksy
14:01 payload joined #parrot
14:02 bluescreen joined #parrot
14:05 whiteknight I'm inspired by LLVM's JIT, which allows you to add optimization steps in before compilation
14:05 whiteknight what I would like to see in PCT is a PAST::add_optimization() method where we could add in optimization objects
14:06 whiteknight those objects either act on the PAST tree itself or on the generated PIR code
14:06 whiteknight so for something like a tailcall optimization, we would modify the generated code of a function-call PAST node, if it's the last node in the parent's children array
14:07 moritz and then be sure that it doesn't break any scoping related things
14:08 whiteknight moritz: any optimization we make is likely to break some languages. Optimization steps for PCT will have to always be opt-in
14:08 moritz (I'm not sure how tightly related lexicals and subs are in parrot)
14:08 whiteknight moritz: pretty tightly
14:08 moritz then there's a chance that it doesn't break
14:08 whiteknight but some HLLs, like Matrixy, don't need lexical variable scoping like we have in Parrot
14:09 whiteknight so I want to be able to optimize those all away
14:21 Coke moritz: if I'm using nqp-rx, I'm using pct, neh?
14:21 Coke (or no?)
14:21 moritz Coke: the question that's relevant for what we've discussed is: do you use the PAST/POST compilers of PCT?
14:24 Coke moritz: I have no idea! =-)
14:25 Coke I'm using past and post libraries. but I think that's hidden under nqp-rx.
14:25 * Coke tries to install padre and ends up killing his machine and running it out of memory.
14:25 moritz Coke: do you have lots of calls to PAST::Op.new() or so?
14:26 Coke some.
14:26 moritz then you're using it
14:26 moritz and I was wrong not to count partcl among the major HLLs
14:26 moritz sorry for that
14:26 Coke http://github.com/partcl/partcl-nqp/b​lob/master/src/Partcl/Actions.pm#L14
14:27 Coke moritz: I'm not hurt, just posturing. =-)
14:27 Coke and I didn't realize the PCT component of your discussion, either.
14:27 Coke no worries.
14:27 purl i guess no worries. is my smoke harness code public?
14:27 payload joined #parrot
14:36 iblechbot joined #parrot
14:38 plobsing joined #parrot
14:46 Austin Whiteknight: You mean like "Project foo uses Kakapo" (in which case: no, I don't have any) or do you mean like:  7 if %hash.contains('foo') { say("Hash contains foo"); }  0
14:52 whiteknight Austin: either. I just want to learn how to use it and maybe use it in some of my projects
14:55 Austin whiteknight: Sounds good. I'm paying my 2.0 tax this week, but I should have something usable in a few days.
15:01 whiteknight Coke: ping
15:31 bubaflub joined #parrot
15:32 dalek parrot: r43629 | fperrad++ | trunk/tools/dev/fetch_languages.pl:
15:32 dalek parrot: [languages] fix typo
15:32 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43629/
15:39 Psyche^ joined #parrot
15:49 AndyA joined #parrot
15:56 Coke whiteknight: pong
15:57 whiteknight Coke: you're a board member, do you know if Parrot is going to apply to GSoC this year?
15:58 Coke I can tell you it hasn't come up yet.
15:58 Coke I can also give you my guess of "yes".
15:58 Coke (and we might try to talk to TPF about doing umbrella again, or not.)
15:59 whiteknight that's what I was hoping. I don't want to advertise it too much on my blog or elsewhere if it's not going to happen
15:59 Coke I think we'd be crazy not to.
15:59 Coke it's free publicity, free tuits...
15:59 Austin Coke: I emailed my pafo cla pdf to legal@parrot (twice) but haven't heard anything back. Is anyone checking that address?
15:59 Coke and since you're going to mentor the guy...
15:59 Coke Austin: checking the logs..
15:59 Coke austin?
15:59 purl austin is nice. or a city in Texas.
16:00 Coke austin hastings?
16:00 Austin Yep
16:00 Austin @yahoo
16:00 Coke austin is also Mr. Hastings, if you're nasty.
16:00 purl okay, Coke.
16:00 Austin Tres disco, sir.
16:00 Coke I see a signed copy from 12/5
16:01 Coke do you have a reference to a parrotsketch meeting where your name came up?
16:01 Austin Woo-hoo. progress.
16:01 Austin I'll say no.
16:01 whiteknight it will come up next meeting
16:01 whiteknight (if it hasn't already)
16:01 Coke can probably do a google search through irclogs.
16:01 Coke if you can point me to a vote, I can turn your account on today.
16:03 Austin Nope.
16:03 Austin Only thing google finds is from 07/06
16:03 Coke http://irclog.perlgeek.de/parrotsketch/2009-07-06 ?
16:03 Austin google site:irclog.perlgeek.de parrotsketch "Austin Hastings"
16:03 Coke (there's nothing there.)
16:04 Coke http://www.google.com/search?hl=en&amp;q=s​ite:irclog.perlgeek.de+inurl:parrotsketch+​austin&amp;aq=f&amp;aql=&amp;aqi=&amp;oq= is probably better.
16:04 Coke ok. so, path of least resistance is to get it mentioned next tuesday.
16:04 Andy joined #parrot
16:05 Austin Works for me. Thanks. I was just hearing crickets on the email thing...
16:06 Coke Yeah, we don't typically resond to those for whatever reason.
16:09 dalek winxed: r373 | julian.notfound++ | trunk/ (3 files):
16:09 dalek winxed: reimplement chomp as predefs with fix args, getting rid of the old predefs way
16:09 dalek winxed: in stage 0
16:09 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=373
16:09 dalek winxed: r374 | julian.notfound++ | trunk/Makefile:
16:09 dalek winxed: forgot to update Makefile
16:09 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=374
16:10 * Austin is waiting for his freaking enormous TV to arrive.
16:11 NotFound Austin: How big?
16:11 Austin 60 inch
16:11 NotFound :o
16:11 Austin 152 cm.
16:11 Austin Bwahahaha
16:12 * pmichaud wonders if his 42 inch set is inadequate.
16:13 Austin And for only $900 more I can get a robotic wall mount... yeesh.
16:17 Coke bar is now at 38 or so, after the young one wiimoted the 42".
16:18 Coke s/bar/ours/
16:18 Austin That's me, soon.
16:18 Coke we have a mount slash entertainment stand that allows a non-robotic left-right swivel. cheap but very effective.
16:18 Austin I got a Wii for my 70+ y/o aunt & uncle for Xmas, and enjoyed myself so much that I bought one for my house.
16:18 wagle what pattern should i use for a pir function that takes one argument of any type, but then wants to do a > (greater than) on it with a int constant?
16:19 Austin wagle: PMC ?
16:19 purl well, PMC is responsible for deciding whether to extend itself or not. or a parrot thing, kind of like "magical holds-one-of-anything variable"?  or parrot magic cookie or Parrot Magic Cookie or pARROT mAGIC cOOKIE or Poly Morphic Cracker (for the Parrot) or a big problem for optimizations or a compiled pm
16:20 wagle can make the arg a pmc, but then it wont work in * expressions, but will in +
16:20 Austin You said takes one arg. I think that the arg coercer will promote an int into an Integer PMC, but not vice versa.
16:21 Austin So if you want to take both int and pmc args, I think you need a pmc param.
16:21 Coke you can declare your arg as int and it'll just coerce it on the way in.
16:21 * wagle started a scheme compiler last night.  front end is "done",  now building the backend
16:21 Austin Will it?
16:21 purl rumour has it Will it is it being written to use djb's string functions and such
16:21 Coke yes. if you declare a .sub with a ".param int foo" and pass it a PMC, it will do the equivalent of $I0 = $P0 on the pmc arg.
16:22 Coke (assuming it's not a multi or if it is that turns out to be the best match.)
16:22 Austin So there you have it.
16:22 wagle i seem to have to know to coerce it to int before doing > and * (ie, the factorial function as helloworld)
16:22 Austin ?
16:22 Coke is your '>' a function?
16:22 Austin Declare it as int (like coke said above)
16:22 Coke that is, a .sub ?
16:23 Coke or are you relying on PIR's > operator?
16:23 Coke if you're using the operator (or opcode) variant, yes, you'll need to coerce it first if that's the comparison you really want.
16:23 Austin .sub "factorial"    .param int n    if n > 1 goto recurse    return 1   recurse:    ...
16:23 wagle scheme functions take anything..  this is supposed to be dynamic, but i need a type inferer?
16:23 wagle i
16:24 Coke let's back up.
16:24 Coke why isn't just using the PMC working for you?
16:24 wagle the function shouldnt force it to int until it does a int operation
16:24 wagle cant do > and * to PMCs
16:25 wagle another problem is int vs float
16:26 wagle but thats not importaqnt yet
16:26 Coke ok. int vs. float, then yes, you can coerce them manually to do the appropriate check, sure. (though $I0 vs $N2) should still compare/multiple correctly.
16:27 Coke building parrot to try to disprove one of your statements...
16:27 Austin pmichaud: I have a problem in nqp with subclassing. I declare Foo::Parent and then Foo::Child is Foo::Parent, but when I inspect all parents of Child's parrotclass, I don't see Parent. What entity will have the correct lineage?
16:27 theory joined #parrot
16:28 wagle i get to send factorial a float, and it should work..  should work with int too
16:28 nopaste "coke" at 193.200.132.135 pasted "this works for me" (20 lines) at http://nopaste.snit.ch/19382
16:28 Coke that shows * and > working with a PMC in PIR.
16:28 Coke (and those are really just opcodes under the covers.)
16:28 wagle error:imcc:The opcode 'sub_i_p_ic' (sub<3>) was not found. Check the type and number of the arguments
16:29 Coke your target has to be a PMC.
16:29 Coke not an int.
16:29 Coke IIRC.
16:29 wagle ok, lemme give it another whirl in pedantic mode
16:29 Coke basically: show me the code that doesn't work. =-)
16:31 Coke I assume your error is from your code, not my nopaste.
16:31 mikehh fulltest - testr FAIL - t/pmc/eval.t - Failed test:  12 - see TT #1142
16:31 mikehh all other tests PASS (pre/post-config, make corevm/make coretest, smoke (#31953), fulltest) at r43629 - Ubuntu 9.10 amd64 (gcc)
16:32 wagle hmm..  i must have been sloppy abiout switching between $In and $Pn..  works now
16:32 wagle ... or else someone snuck onto my machine and installed a working parrot
16:32 wagle 8)
16:33 Austin It's one o'clock and time for lunch. Dum de dum de dum.
16:33 pmichaud Austin: old nqp, or new one?
16:34 Austin parrot-nqp from2.0
16:35 wagle ok, it all works now..  thanks for working me through my confusion
16:35 Coke np.
16:35 brrant joined #parrot
16:36 Austin pmichaud:  parrot-nqp --version says:  This compiler is built with the Parrot Compiler Toolkit, parrot revision 0.
16:36 wagle are there args for parameters, or you just HAVE to use :slurpy if you just cant stand to name your args?
16:36 wagle are there REGISTERS for parameters, or you just HAVE to use :slurpy if you just cant stand to name your args?
16:37 Austin wagle: slurpy
16:37 brrant joined #parrot
16:37 * wagle is trying to avoid name collisions
16:37 wagle okeh, thanks
16:38 Austin wagle: The registers don't get names unless you assign them (.local pmc n) or mention a register explicitly ($I0 = ...)
16:38 pmichaud Austin: how are you getting Child's parrotclass?
16:38 Austin But the register names - even $I0 - are locally scoped. Don't worry about colliding the names.
16:38 Coke s/locally/sub/
16:39 Coke (as opposed to file, which is really the only other option for pir)
16:39 nopaste "Austin" at 68.37.46.53 pasted "P6object class dumper" (47 lines) at http://nopaste.snit.ch/19384
16:39 wagle i can handle numbering them uniquely..
16:39 Austin pmichaud: (see nopaste) I'm doing the get-meta . get-parrotclass thing
16:40 Coke wagle: there are tools for managing that sort of thing already.
16:40 Austin wagle: You just have to uniquify them within the sub.
16:40 Coke (i would just hate to see you reinvent past/post/pct/CodeString)
16:40 wagle for this version, i want to do it myself..  eventually i write the thing in itself
16:41 wagle this toy compiles scheme to pir
16:42 wagle Coke what do those do?
16:42 pmichaud Austin: how is get_meta defined?
16:43 Austin new P6metaclass
16:43 pmichaud okay.  one can just use P6metaclass directly, too.
16:44 Austin Meaning P6metaclass.get_parrotclass?
16:44 pmichaud yes
16:44 Austin I'm never quite sure which methods are on the protoobject....
16:44 pmichaud the protoobject has all of the same methods as an instance
16:44 Austin Hmm.
16:44 pmichaud (because the protoobject is itself an instance)
16:44 Austin Cool.
16:45 Austin Is that still true in -rx?
16:45 Austin With our / my methods?
16:45 pmichaud yes
16:45 pmichaud does -rx support our / my methods?  I'm not sure it does.
16:45 pmichaud I think -rx just supports plain methods, no decoration
16:45 Austin You keep threatening to make all the non-our methods invisible.
16:46 pmichaud but yes, it'd be true for our / my methods as well
16:46 pmichaud (because the protoobject is itself an instance of the class)
16:47 Austin But anyway, parents.
16:48 pmichaud nopaste coming
16:48 Coke wagle: there's already a compiler infrastructure built on top of PIR.
16:48 Coke You may be re-inventing the wheel in some areas.
16:49 Coke (this may be fine for you.)
16:49 nopaste "pmichaud" at 66.25.4.52 pasted "class Foo::Child is Foo::Parent (for Austin++)" (70 lines) at http://nopaste.snit.ch/19385
16:49 ash_ joined #parrot
16:50 pmichaud looks to me like it's finding Foo;Parent just fine
16:50 pmichaud (I had to change the dump code slightly because I don't have a .join or .keys method defined)
16:52 Austin Sure.
16:54 wagle Coke: i wont waste more than a day or three before trying those..  right now i'm sketching my old scheme compiler from 20 years ago
16:55 nopaste "Austin" at 68.37.46.53 pasted "My version of Foo::Child" (46 lines) at http://nopaste.snit.ch/19386
16:56 payload joined #parrot
16:56 Austin I commented out the no-dump-self guard, and the parents list for child just includes child and p6object.
16:58 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#31954), fulltest) at r43629 - Ubuntu 9.10 amd64 (g++)
16:58 Austin And yet the generated pir shows both classes created together, etc.
16:58 nopaste "Austin" at 68.37.46.53 pasted "Creating the classes" (10 lines) at http://nopaste.snit.ch/19387
17:03 nopaste "pmichaud" at 66.25.4.52 pasted "Foo::Child still works here..." (81 lines) at http://nopaste.snit.ch/19388
17:03 pmichaud not entirely sure what's different or causing the difference
17:03 ash__ joined #parrot
17:06 Austin Nor me. The things that occur to me are (1) I may have replaced a method in P6object; and (2) my runtime configuration is using loading, so not everything is "all together." I don't think that should matter, but ...
17:08 Austin Thanks for the eyeballs. It's good to know it works for someone. :)
17:08 Austin pmichaud++
17:09 iblechbot joined #parrot
17:32 dukeleto 'ello
17:33 dukeleto Coke: yes, i have told wagle about our compiler infrastructure, but he wants to do it the way he is going about it, at least as a first iteration
17:34 cotto joined #parrot
17:38 wagle i need to directly express the stuff in my head before shoehorning it into the parrot mold..  (which will reshape the stuff in my head)
17:38 wagle but i'm planning to retarget to various other vm's
17:38 wagle so..
17:38 wagle also planning
17:39 dalek plparrot: 27eb4ef | darbelo++ | PLATFORMS:
17:39 dalek plparrot: [PLATFORMS] Reformat the arch on the first report for consistency.
17:39 dalek plparrot: review: http://github.com/leto/plparrot/commit/2​7eb4ef3b032b2950609bece455f5d5d2a72cad6
17:46 wagle where do you go for the gory details on newclosure opcode?  webpage just (mostly) says it exists
17:47 pmichaud pdd20, probably
17:50 wagle pmichaud: thanks..   now i know about pdd
17:55 plobsing is there a reason there isn't a form of sprintf in PIR that accepts a key?
17:55 plobsing it seems to me that it would make it easier to use
17:55 whiteknight plobsing: example?
17:55 plobsing $S0 = sprintf "Ignored signature '%s' on line %d (previously seen on line %d)", [full_sig; lineno; $I0]
17:56 whiteknight ah, that does seem useful
17:57 Coke hurm. you could try just using a pmc %FOO there.
17:57 Coke (whatever the %% is for pmcs)
17:58 plobsing but I don't need that pmc elsewhere. keys are basically a convenient shorthand for creating PMCs used in only one op
17:58 Coke I'm not saying create a PMC.
17:59 chromatic joined #parrot
17:59 Coke oh, I see what you're doing there.
18:00 plobsing what is involved in adding a form of an op?
18:00 whiteknight plobsing: black magic
18:00 whiteknight plobsing: check out src/ops/string.ops for current examples
18:01 plobsing yeah. I can understand those. Its code elsewhere I'm woried about.
18:01 whiteknight I think the op also needs to be added to ops.num, unles it's experimental
18:01 whiteknight i don't think there is code anywhere else
18:01 plobsing there's always action at a distance in my experience
18:01 plobsing maybe I'll get lucky
18:02 chromatic That's all I remember doing.
18:02 cotto_work joined #parrot
18:02 Coke if you're adding an op, pretty much always put it into experimental.ops to start with.
18:02 Coke (then ops.num and warnings about deprecating go away.)
18:24 dalek plparrot: ea8a5a8 | (David Fetter)++ | PLATFORMS:
18:24 dalek plparrot: Added self.
18:24 dalek plparrot: review: http://github.com/leto/plparrot/commit/e​a8a5a8b5eae1bb99729a0a1cf9133c972d7ec1f
18:24 dalek plparrot: cb46c11 | (David Fetter)++ | PLATFORMS:
18:24 dalek plparrot: Merge branch 'master' of github.com:leto/plparrot
18:24 dalek plparrot: review: http://github.com/leto/plparrot/commit/c​b46c113aef7196178c47ecf05e3d3743e643716
18:32 Coke (sprintf opcode) you could do this trivially with a helper .sub
18:43 nopaste "darbelo" at 190.192.220.13 pasted "parrot_config --dump" (294 lines) at http://nopaste.snit.ch/19390
18:57 dalek plparrot: d023182 | darbelo++ | src/handler/Makefile:
18:57 dalek plparrot: Replace hrdcoded '-lparrot' with the more versatile and cross-platform $(PARROTLINKFLAGS).
18:57 dalek plparrot: review: http://github.com/leto/plparrot/commit/d​02318289dbf4edb1e4bc39a316a46fc7b64bcbc
18:57 dalek plparrot: 6fb26c8 | darbelo++ | PLATFORMS:
18:57 dalek plparrot: Merge branch 'master' of github.com:leto/plparrot
18:57 dalek plparrot: review: http://github.com/leto/plparrot/commit/6​fb26c8356470958e59d2cfd3a0a851a096ab051
19:02 dalek parrot: r43630 | fperrad++ | trunk/runtime/parrot/library/distutils.pir:
19:02 dalek parrot: [distutils] improve newer() when the size of target file is zero
19:02 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43630/
19:03 joeri joined #parrot
19:03 dalek plparrot: 7147e42 | (David Fetter)++ | t/test.sql:
19:03 dalek plparrot: test.sql now doesn't depend on whether you've
19:03 dalek plparrot: * Added a 'plparrot' row to pg_catalog.pg_pltemplate, or
19:03 dalek plparrot: * Created the PL/Parrot language.
19:03 dalek plparrot: review: http://github.com/leto/plparrot/commit/7​147e42132fefece4e7616c2c04e8742ed1b05e0
19:03 dalek plparrot: 6c1667d | (David Fetter)++ | src/handler/Makefile:
19:03 dalek plparrot: Merge branch 'master' of github.com:leto/plparrot
19:03 dalek plparrot: review: http://github.com/leto/plparrot/commit/6​c1667da918f6fd07d82546a782e0aef735e9b2e
19:07 ash_ joined #parrot
19:09 ash_ joined #parrot
19:15 dalek matrixy: d1c2bcb | Whiteknight++ | README.pod:
19:15 dalek matrixy: update README to use the new setup.pir from fperrad++
19:15 dalek matrixy: review: http://github.com/Whiteknight/matrixy/commi​t/d1c2bcbabe034cda5d49cc481a33fd34f79144e6
19:15 dalek matrixy: ef9b28f | Whiteknight++ | src/parser/grammar-plan.txt:
19:15 dalek matrixy: added a quick text file with my ideas about how to re-do function calls and statements to be more consisten and support nargou and nargin
19:15 dalek matrixy: review: http://github.com/Whiteknight/matrixy/commi​t/ef9b28fbdc3a20403de741e72b9d5d0eb133f28d
19:15 dalek matrixy: 8a7ba13 | Whiteknight++ |  (11 files):
19:15 dalek matrixy: Merge branch 'master' of git@github.com:Whiteknight/matrixy
19:15 dalek matrixy: review: http://github.com/Whiteknight/matrixy/commi​t/8a7ba1399dce9e0d535b3f236566b15bad9f40b2
19:15 mariano__ joined #parrot
19:24 cghene joined #parrot
19:51 clinton joined #parrot
19:56 clinton joined #parrot
20:00 TimToady phone
20:00 dukeleto home?
20:00 purl Home is where your feet are standing. or the History of Middle-Earth. A 12-volume examination of how LOTR and the associated stories evolved.
20:02 rblasch joined #parrot
20:02 patspam joined #parrot
20:41 plobsing joined #parrot
20:44 plobsing_ joined #parrot
20:45 bacek Morning. Good morning
20:53 Coke (call) sorry I missed it. :|
20:58 bluescreen joined #parrot
20:58 mariano__ joined #parrot
21:03 cotto_work a talk by allison: http://www.infoq.com/presentations/​randal-exploring-dynamism;jsessioni​d=8C0CFCF342861DACA4A6454D0095E342
21:04 Coke that sounds familiar.
21:05 hercynium joined #parrot
21:06 bacek http://isperldead.com/
21:06 bacek One of the best site ever :)
21:06 darbelo bacek++
21:09 cotto_work I was wondering about that.  Now I know.
21:21 cotto_work interesting approach to generating better syntax error messages: http://research.swtch.com/2010/01/​generating-good-syntax-errors.html
21:39 Coke anyone have any thoughts on using npq-rx to build a grammar that didn't actually do anything other than reformat code?
21:40 cotto_work Go for it!  Were you thinking of something for internal Parrot use or what?
21:40 Coke pondering doing this for cold fusion - biggest issue is that it's really CF, CFscript, javascript, CSS, SQL, and 4 kinds of HTML.
21:40 cotto_work insta-replied
21:40 cotto_work eww
21:41 Coke hey, CF pays the bills. :|
21:41 Coke could be worse, I could work for microsoft! *ZING!*
21:41 cotto_work It sounds like there's a good reason you're getting paid to touch that code.
21:41 Coke which is the ew part?
21:41 Coke just "CF", or the combination of code types?
21:42 cotto_work so many kinds of code all mashed together
21:42 Coke welcome to the web.
21:42 chromatic Pretty printing is a well-loved technique.
21:42 cotto_work yeah.  It sounds like typical web 2.o-flavored html except with more languages.
21:44 Coke I'd also like it to be easily invokable from cfeclipse, so writing it in parrot is probably not the best choice from that standpoint.
21:44 Coke but, we'll see. Can also add in code validation if I'm smart enough.
21:49 dalek winxed: r375 | julian.notfound++ | trunk/token.cpp:
21:49 dalek winxed: escaped double quotes in stage 0
21:49 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=375
21:49 dalek winxed: r376 | julian.notfound++ | trunk/winxedst0.cpp:
21:49 dalek winxed: predefs two args compreg and load_bytecode in stage 0
21:49 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=376
21:54 dalek pynie: r93 | allisonrandal++ | trunk/runtests.py:
21:54 dalek pynie: Allow test to run on Windows, thanks to Fran�ois Perrad for the patch.
21:54 dalek pynie: review: http://code.google.com/p/pynie/source/detail?r=93
21:57 Coke pinged the cfeclipse list to see if anyone is interested.
21:57 Coke (driven by a pointer a commercial tool that isn't entirely CF aware.)
21:58 dalek pynie: r94 | allisonrandal++ | trunk/setup.pir:
21:58 dalek pynie: Setting properties on setup.pir, thanks to Fran�ois Perrad for the
21:59 dalek pynie: patch.
21:59 dalek pynie: review: http://code.google.com/p/pynie/source/detail?r=94
21:59 dalek pynie: r95 | allisonrandal++ | trunk/setup.py:
21:59 dalek pynie: Fix up version check so it works with Parrot 2.0. Thanks to Fran�ois
21:59 dalek pynie: Perrad for the patch.
21:59 dalek pynie: review: http://code.google.com/p/pynie/source/detail?r=95
21:59 dalek winxed: r377 | julian.notfound++ | trunk/winxedst1.winxed:
21:59 dalek winxed: escaped double quotes, predef two args compreg and compreg the compiler as
21:59 dalek winxed: WINXED in stage 1
21:59 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=377
22:07 Whiteknight joined #parrot
22:11 GeJ Good morning everyone
22:12 cotto_work good morning GeJ
22:14 Whiteknight good morning
22:18 GeJ heya cotto, Whiteknight
22:26 redbrain joined #parrot
22:32 payload joined #parrot
22:33 cotto_work I remember this guy from somewhere: http://fosdem.org/2010/interview/david-fetter
22:40 plobsing joined #parrot
22:42 Whiteknight he didnt mention parrot!
22:44 NotFound compilers/data_json/data_json.pbc isn't built on my system :?
22:45 plobsing NotFound: what? I thought I fixed that yesterday
22:45 NotFound Ah, let me check the rev
22:46 NotFound r43604
22:46 NotFound Ok, I'll update and rebuild
22:47 plobsing yeah, i fixed it in 43619
22:50 NotFound Fine now, thanks
22:51 dalek parrot: r43631 | plobsing++ | trunk/tools/build/nativecall.pl:
22:51 dalek parrot: small simplifications to nativecall.pl
22:51 dalek parrot: review: http://trac.parrot.org/parrot/changeset/43631/
23:11 jsut_ joined #parrot
23:16 Whiteknight I'm watching that speech by Allison right now. I always like watching her presentations
23:20 cotto_work I'm not charmed by what I see in http://trac-hacks.org/wiki/GitPlugin.  It looks like that particular Trac Git plugin still needs work.
23:21 Whiteknight are there other options?
23:22 ash_ Redmine is nice
23:22 ash_ works with multiple types of repositories
23:22 ash_ i use it for my school projects
23:24 cotto_work Whiteknight, that seems to be the most popular one.
23:25 Whiteknight what I don't like about these videos of Allison is that she's trying to explain all these concepts that are fundamental in Parrot to people who are completely non-familiar with them
23:26 Whiteknight Where I would prefer to maybe see a more advanced version
23:29 cotto_work Sure, but it wouldn't make sense to talk about that to a room full of jvm guys.
23:30 ash_ are you watching the video in dynamic language concepts?
23:47 tetragon joined #parrot

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

Parrot | source cross referenced