Camelia, the Perl 6 bug

IRC log for #parrot, 2010-07-20

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 dalek tracwiki: v18 | cotto++ | LoritoRoadmap
00:02 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Lor​itoRoadmap?version=18&action=diff
00:10 dalek rakudo: f49e91b | jonathan++ | src/core/Mu.pm:
00:11 dalek rakudo: .can helper is only defined on Any, not Mu. Last bug I fixed masked this issue
00:11 dalek rakudo: somehow - this deals with it.
00:11 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f​49e91b2df0ca6bcdb295206c55edd3f6fad0584
00:11 dalek rakudo: 1231260 | jonathan++ | src/glue/subset.pm:
00:11 dalek rakudo: Need to attach the originally refined type to the subtype so the signature
00:11 dalek rakudo: binder can get the nominal and constrainty parts of it. The corrects a less than
00:11 dalek rakudo: awesome error and probably much more.
00:11 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​231260c3af751e19e11bfcc5701170a57626931
00:16 dalek rakudo: 3139735 | jonathan++ | src/builtins/Num.pir:
00:16 dalek rakudo: Toss Int ~~ Num hack; from now on, use Int ~~ Numeric. Good to excise this one
00:16 dalek rakudo: before R* so people don't write code assuming it. :-)
00:16 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​1397353ad686c61f231f480d497d55d4a60aa9c
00:16 dalek rakudo: ee1b11b | jonathan++ | src/Perl6/Grammar.pm:
00:16 dalek rakudo: Port over a couple more errors from STD - mostly copy/paste/test.
00:16 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​e1b11bd6f0e1cfeb8b16d12bd94802bf259cbc1
00:36 whiteknight Who is release manager for 2.6?
00:37 cotto_work coke
00:37 whiteknight ah yes, I just found that
00:37 whiteknight thanks cotto_work
00:40 mikehh japhb: ping
00:41 mikehh boo
00:41 dalek squaak-tutorial: be8a75b | tcurtis++ | doc/tutorial_episode_3.pod:
00:41 dalek squaak-tutorial: Add note to briefly explain OPP, terms, protos in Ep. 3.
00:41 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/be8a75b1d8cf1368d8170fdb3c05704c69455d07
00:42 mikehh bah - who else handles plumage
00:44 tcurtis mikehh: Tene, darbelo, dukeleto, pmichaud, whiteknight, and particle appear to have commit bits to it (according to http://gitorious.org/parrot-plumage/parrot-plumage ).
00:44 japhb joined #parrot
00:44 japhb mikehh, pong
00:44 japhb (sorry for the delay, when you pinged my IRC client went crashy-crash-crash-crash)
00:45 cotto_work I have 49 ops after making the assumption that we want Lorito to be explicit in the types used by its ops to avoid unnecessary type checks in the op bodies.
00:46 cotto_work http://trac.parrot.org/parrot/wiki/LoritoOps
00:47 cotto_work It strikes me as undesirable to have ops contain a switch statement (or if) to deal with different types.
00:47 mikehh japhb: have been running some tests in plumage - ./plumage test <whatever> seems to want smoke not just test
00:47 japhb mikehh, checking ...
00:48 mikehh japhb: eg nqp-rx, lua, etc
00:49 japhb Huh.  I thought that bug was fixed long ago.
00:49 japhb Hmmm.
00:49 tcurtis cotto_work: It seems like there will need to also be ops for parameter passing.
00:49 mikehh japhb: actually lua worked but it sent to smolder
00:49 japhb Does NQP-rx have list assignment yet?
00:50 tcurtis japhb: Does NQP-rx have assignment yet?
00:50 jnthn I'm not sure NQP-rx will ever have assignment.
00:50 japhb Bah.
00:50 jnthn (It's a deliberate design choice that it's not there, not just a not-yet-implemented, as far as I know.)
00:51 japhb OK, what's the current cleanest way to say: "Copy the contents of this arrayref into this other new arrayref"?
00:51 japhb Here's the code I want to copy:
00:51 japhb 143     # Smoke test requires same prereq path as regular test
00:51 japhb 144     %STAGES<smoke>     := %STAGES<test>;
00:51 japhb 145     %STAGES<smoke>[-1] := 'smoke';
00:52 japhb Except not broken.
00:52 japhb :-)
00:52 dalek tracwiki: v1 | cotto++ | LoritoOps
00:52 dalek tracwiki: initial version based on the parrot-dev thread plus some random junk I thought would be nice
00:52 tcurtis japhb: pir::clone__PP(@foo); is probably your only option.
00:52 dalek tracwiki: http://trac.parrot.org/parrot/wiki/​LoritoOps?version=1&amp;action=diff
00:52 * cotto_work trolls
00:52 tcurtis s/only/best
00:53 japhb tcurtis, so change that line 144 to:  %STAGES<smoke> := pir::clone_PP(%STAGES<test>);
00:53 japhb ?
00:53 tcurtis japhb: right.
00:53 japhb OK, thx
00:53 japhb mikehh, I'll have your fix in in a few minutes.
00:53 japhb Have to do something AFK for a couple first.
00:54 jnthn japhb: Yes, clone was what I was going to suggest too
00:55 tcurtis jnthn: I don't think NQP's likely to get assignment until Parrot does. :)
00:55 cotto_work tcurtis, I pictured that working through something like CallSignatures though I haven't thought through it enough to figure out if there's enough to bootstrap that into existence.
00:55 mikehh japhb: great - so far tested pirate, lua, nqp-rx (which doesn't test), same for winxed
00:56 cotto_work I'm sure more ops will be needed but I can imagine fewer than 64 ops working.
00:56 tcurtis cotto_work: eek. that does not sound good for performance.
00:58 cotto_work Part of the plan for Lorito is to unify VTABLE functions and METHODs.
00:58 cotto_work Figuring out what the path should look like in Lorito would be helpful.
01:00 cotto_work A LoritoCallingConventions wiki page might be in order.
01:01 tcurtis cotto_work: I think explicit parameter-passing and receiving ops would have more potential for optimization. We could shave off the object opcodes with that, too(if we can get method calls fast enough). We'd still need some low-level memory access opcodes for implementing allocation, attribute accessors, etc.
01:05 cotto_work tcurtis, please add any ops you have in mind to the wiki page and remove any that are made redundant.
01:06 tcurtis cotto_work, I'll do that later tonight. At the moment, I need to get back to work on Squaak. :)
01:06 cotto_work sure
01:07 cotto_work it'd be a shame to ship 2.6 with a lta tutorial
01:20 leprevost joined #parrot
01:23 japhb mikehh, tcurtis, jnthn: Plumage fix pushed, thank you.
01:25 mikehh cotto_work: you got  - isgt_[in] - a >= b and isge_[in] - a > b in LoritoOps
01:25 mikehh japhb: checking
01:26 payload1 joined #parrot
01:26 cotto_work mikehh, no I didn't. ;)
01:30 dalek parrot-plumage: d5ee97f | japhb++ | src/lib/Plumage/Project.nqp:
01:30 dalek parrot-plumage: Plumage::Project: Fix braino causing test action to act like smoke instead; mikehh++ for reporting this, and tcurtis++ and jnthn++ for quick fix
01:30 dalek parrot-plumage: review: http://gitorious.org/parrot-plumage/parrot-plumag​e/commit/d5ee97ff1f303cdf176210f1a2f2f544a1ee9821
01:30 mikehh japhb: ok that seems to work - at least for winxed and nqp-rx anyway :-}
01:30 japhb :-)
01:31 cotto_work nqp makes those brainos too easy.
01:31 dalek parrot: r48117 | Chandon++ | branches/gsoc_threads (13 files):
01:31 dalek parrot: [gsoc_threads] First half of the Task API.
01:31 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48117/
01:31 cotto_work I've become accustomed to adding + or ~ to values to ensure that I get a copy instead of the original pmc.
01:42 dalek tracwiki: v2 | cotto++ | LoritoOps
01:42 dalek tracwiki: d'oh.  mikehh++ for noticing
01:42 dalek tracwiki: http://trac.parrot.org/parrot/wiki/​LoritoOps?version=2&amp;action=diff
01:48 dalek parrot: r48118 | Chandon++ | failed to fetch changeset:
01:48 dalek parrot: [gsoc_threads] Merge from trunk.
01:48 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48118/
01:52 GodFather joined #parrot
01:56 dalek rakudo: cf3da00 | jonathan++ | src/Perl6/ (2 files):
01:56 dalek rakudo: NYI notes for constant, state and macro. Hopefully we get to at least state by
01:56 dalek rakudo: R*, but if not better to give a good error.
01:56 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c​f3da00729148a434339d7aa0d819efebe5a0cb2
02:07 cotto ~~
02:19 atrodo This weekend had a disappointing amount of coding take place
02:20 cotto atrodo, no worries.  That seems to be the order of the day.
02:20 atrodo Yea, seemed so it seems
02:21 atrodo I always go to the inlaws thinking i'll get some great time to work, and somehow it never seems to work out quite right
02:26 payload joined #parrot
02:35 janus joined #parrot
02:55 dalek parrot: r48119 | cotto++ | branches/gsoc_instrument/t/libr​ary/instrument_eventlibrary.t:
02:55 dalek parrot: update test plan
02:55 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48119/
03:07 plobsing joined #parrot
03:10 dalek squaak-tutorial: fe9ecdd | tcurtis++ | doc/tutorial_episode_7.pod:
03:10 dalek squaak-tutorial: Start transitioning from PGE optable to HLL::Grammar O in Ep 7.
03:10 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/fe9ecdd59571115bfc5a6dfd233263fd88abbf67
03:10 dalek squaak-tutorial: fae64bd | tcurtis++ | doc/tutorial_episode_7.pod:
03:10 dalek squaak-tutorial: Further updates to Ep. 7.
03:10 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/fae64bd855fd11bc7f20ddb6a77faaba751351e0
03:13 khairul cotto: ping
03:17 cotto khairul, pong
03:26 ruoso joined #parrot
03:34 dalek squaak-tutorial: efd8502 | tcurtis++ | doc/tutorial_episode_7.pod:
03:34 dalek squaak-tutorial: Add .O versions of ops.
03:34 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/efd850239b1bbdcdfd06f3c038221d89c50ed6b6
03:34 dalek squaak-tutorial: 78b440b | tcurtis++ | doc/tutorial_episode_7.pod:
03:34 dalek squaak-tutorial: :pasttype<if> in Ep 7.
03:34 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/78b440b81bf17552682f079ce9a986c8e3ae7717
03:34 dalek squaak-tutorial: 9d5c639 | tcurtis++ | doc/tutorial_episode_7.pod:
03:34 dalek squaak-tutorial: Make relational left-associative.
03:34 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/9d5c639f51ed9072e695c77f4a5df919c77501fa
03:39 LoganLK joined #parrot
03:39 brianherman joined #parrot
03:39 brianherman hello
03:40 brianherman i tried to compile parrot on mac os x
03:40 dalek tracwiki: v7 | cotto++ | KhairulGSOC2010Schedule
03:40 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Khairul​GSOC2010Schedule?version=7&amp;action=diff
03:40 brianherman and i get this error auto:va_step auto::va_ptr died during execution: Unknown va_ptr type at config/auto/va_ptr
03:42 Chandon brianherman: What compiler are you using?
03:43 brianherman gcc
03:43 brianherman i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5664)
03:46 Chandon In that case I'm out of even vague ideas. Hopefully someone with a Mac will look in and give you a good answer.
03:47 brianherman oh well
03:47 brianherman it builds on linux
03:47 brianherman so
03:47 brianherman meh
03:47 darbelo joined #parrot
03:47 brianherman i would like it to build on mac os x
03:47 brianherman but
03:48 darbelo People have built parrot on OS X before.
03:48 brianherman is there like a library for auto:va_ptr
03:48 brianherman or something?
03:48 purl something is really wrong out there :)
03:48 darbelo va_ptr is supposed to be autodetected by a configure time probe.
03:49 darbelo Is there any output after the failure for you?
03:52 brianherman the configure fails
03:53 brianherman http://paste.pocoo.org/show/239599/
03:53 brianherman That is the output.
03:56 tcurtis brianherman: what version of OS X do you have?
03:56 brianherman snow leopard
03:56 purl hmmm... snow leopard is going to make us all buttpirates though just because of the name or http://gunshowcomic.com/d/20090930.html
03:57 darbelo You aren't on a ppc box, right?
03:57 tcurtis purl: forget snow leopard
03:57 purl tcurtis: I forgot snow leopard
03:57 brianherman nope intel mac c2d
03:57 brianherman penryn
03:58 tcurtis ash_: you around? You have OS X Snow Leopard, right?
03:59 ash_ yea i do
03:59 brianherman ash_: do you have this problem?
04:00 ash_ one sec, let me read what you were talking about :P
04:01 ash_ umm
04:01 ash_ what is your path? echo $PATH brianherman
04:01 dalek parrot: r48120 | pmichaud++ | trunk/ext/nqp-rx/src/stage0 (3 files):
04:01 dalek parrot: [nqp-rx]:  Update nqp-rx with named_assertion refactor.
04:01 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48120/
04:02 brianherman ping
04:02 brianherman i have active perl installed
04:02 brianherman could that screw things up
04:02 ash_ ya, sounds like it
04:02 ash_ do /usr/bin/perl Configure
04:02 ash_ .pl
04:04 brianherman oh
04:04 brianherman thanks guys!
04:04 dalek nqp-rx: b09bf8d | pmichaud++ | src/Regex/P6Regex/Actions.pm:
04:04 dalek nqp-rx: Refactor named_assertion method a bit.
04:04 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/b​09bf8d23bec919af0460c874ebaf5216a34f535
04:04 dalek nqp-rx: f7e92b4 | pmichaud++ | src/stage0/ (3 files):
04:04 dalek nqp-rx: Update bootstrap.
04:04 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/f​7e92b492372cd803b322ce034ead38c224a4279
04:05 TiMBuS joined #parrot
04:07 brianherman oh no i got a segmentation fault
04:07 brianherman i think im just gonna use linux
04:08 brianherman is that a bug
04:08 brianherman or something?
04:08 purl i guess something is really wrong out there :)
04:10 tcurtis brianherman: most likely. When did you get the segfault?
04:10 brianherman one sec
04:10 brianherman make: *** [runtime/parrot/include/config.fpmc] Error 139
04:10 brianherman Command failed (status 512): make install-dev
04:10 brianherman ./miniparrot -Iruntime/parrot/include config_lib.pir > runtime/parrot/include/config.fpmc
04:11 bacek_mobile joined #parrot
04:11 darbelo Ouch.
04:11 bacek_mobile Aloha, humans
04:11 brianherman hi baeck
04:11 tcurtis bacek_mobile: Hi.
04:12 bacek_mobile I'll miss tomorrow ps meeting. It's way too early in Singapore...
04:12 bacek_mobile hi tcurtis
04:13 sorear bacekmobile?  is that like a batmobile?
04:13 bacek_mobile sorear, even better. Im kind of transformer ;)
04:20 brianherman heh transformer
04:20 brianherman they are shooting transformer 3 in chicago
04:20 brianherman i almost went to see the set
04:20 brianherman but
04:20 brianherman i got lazy
04:21 dalek squaak-tutorial: 8a84280 | tcurtis++ | doc/tutorial_episode_7.pod:
04:21 dalek squaak-tutorial: Add TODO.
04:21 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/8a842809d71bbc32c643b71c5f1e2f73f0ff1266
04:21 dalek squaak-tutorial: 97252df | tcurtis++ | doc/tutorial_episode_7.pod:
04:21 dalek squaak-tutorial: Update infix:sym<+> example in Ep 7.
04:21 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/97252dfd02bd040cad341241d9d0a8b91b69bf22
04:21 dalek squaak-tutorial: 9671c8a | tcurtis++ | doc/tutorial_episode_7.pod:
04:21 dalek squaak-tutorial: This tutorial is so old that trinary add didn't exist.
04:21 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/9671c8a620aa8e6719bea5c7bc1b60ba65442b7d
04:23 tcurtis brianherman: Would you mind submitting a ticket at http://trac.parrot.org/parrot/newticket for that segfault?
04:24 brianherman oh i did
04:24 brianherman i just finished
04:24 brianherman good night
04:29 tcurtis That does not look like a segfault...
04:30 tcurtis nevermind
04:30 tcurtis yes, it does.
04:30 purl if you say so...
04:33 theory joined #parrot
04:39 somebody_ joined #parrot
04:39 dalek TT #1706 created by brianherman++: Parrot
04:39 dalek TT #1706: http://trac.parrot.org/parrot/ticket/1706
04:41 somebody__ joined #parrot
04:45 dalek squaak-tutorial: 736e984 | tcurtis++ | doc/tutorial_episode_7.pod:
04:45 dalek squaak-tutorial: Fix grammar in Ep7.
04:45 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/736e984866fc7ee2aa97b22e0dfafdaa45eb4f09
04:51 dalek squaak-tutorial: c94d857 | tcurtis++ | doc/tutorial_episode_7.pod:
04:51 dalek squaak-tutorial: Ep7: circumfix:sym<( )>
04:51 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/c94d8573c8f2deb4679a9020ffaa552899d07f7c
04:57 dalek squaak-tutorial: 8f2be17 | tcurtis++ | doc/tutorial_episode_7.pod:
04:57 dalek squaak-tutorial: Update explanatory text for circumfix:sym<( )>.
04:57 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/8f2be1712a77112d4907dc32d854b6645c04e6aa
05:02 dalek squaak-tutorial: 9adba53 | tcurtis++ | doc/tutorial_episode_7.pod:
05:02 dalek squaak-tutorial: Ep 7: we get to inherit the action method for EXPR.
05:02 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/9adba537f5e0cf5fe690a5ded0cf8c4f3c6b9ae8
05:04 snarkyboojum joined #parrot
05:08 dalek squaak-tutorial: 671cce8 | tcurtis++ | doc/tutorial_episode_7.pod:
05:08 dalek squaak-tutorial: Ep 7: mention that circumfix:sym<( )> is auto-generated.
05:08 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/671cce843f5c2c2d620d8017d238adbb3aa613ff
05:08 dalek squaak-tutorial: 9f9b948 | tcurtis++ | src/Squaak/Actions.pm:
05:08 dalek squaak-tutorial: Bring back the circumfix:sym<( )> actions.
05:08 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/9f9b948cc038d98015fe207a1979b0a92866186f
05:32 dalek squaak-tutorial: 830e749 | tcurtis++ | src/Squaak/Grammar.pm:
05:32 dalek squaak-tutorial: Add precedence levels.
05:32 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/830e749e5479b85bce0aaeb33915c5e8da578111
05:32 dalek squaak-tutorial: 88d09a4 | tcurtis++ | src/Squaak/Grammar.pm:
05:32 dalek squaak-tutorial: Add logical ops.
05:32 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/88d09a48b775611e4f91a4a1566023444e16db7f
05:32 dalek squaak-tutorial: 40c0f44 | tcurtis++ | src/Squaak/Grammar.pm:
05:32 dalek squaak-tutorial: Move logical ops to the end.
05:32 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/40c0f44b3794f7336a2333c522bcb24c4ea04d2d
05:32 dalek squaak-tutorial: 40ed067 | tcurtis++ | src/Squaak/Grammar.pm:
05:32 dalek squaak-tutorial: Add infix:sym�<�.
05:32 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/40ed06712d1aa03c7ef435573bf391881199c469
05:32 dalek squaak-tutorial: 3a07019 | tcurtis++ | src/Squaak/Grammar.pm:
05:32 dalek squaak-tutorial: Add prefixes.
05:32 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/3a07019a4c8f8990b0fa22adc53ed4be65a91df9
05:32 dalek squaak-tutorial: 117541a | tcurtis++ | src/Squaak/Actions.pm:
05:32 dalek squaak-tutorial: Generate real PAST::Val nodes for literals.
05:32 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/117541a07aed45bee2f55308444aa850da3bd289
05:38 dalek squaak-tutorial: 24a7ac1 | tcurtis++ | doc/tutorial_episode_3.pod:
05:38 dalek squaak-tutorial: Ep3: add action methods for int and str constants.
05:38 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/24a7ac122ffc561d90eea22b6d04d8abfd7f9333
05:55 tcurtis YAY!  I'm done with Ep7 for the moment at least!
05:55 * cotto dances and squawks in honor of tcurtis
05:55 dalek squaak-tutorial: d729136 | tcurtis++ | doc/tutorial_episode_7.pod:
05:55 dalek squaak-tutorial: Ep7: Add hint to first exercise.
05:55 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/d7291360311349bfc52537b69a8c0c125f61c5b6
05:55 dalek squaak-tutorial: 54a3e7e | tcurtis++ | doc/tutorial_episode_7.pod:
05:55 dalek squaak-tutorial: Ep7: exercise 2 done.
05:55 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/54a3e7e41103a31da3366754279b3eaec7c848c7
05:55 dalek squaak-tutorial: 9a5b022 | tcurtis++ | doc/tutorial_episode_7.pod:
05:55 dalek squaak-tutorial: Ep7: Fix mistake in infix:sym�<�.
05:55 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/9a5b0225a190f50be4bff066ba8d2ea0ce6bd6ab
05:56 tcurtis cotto: Now just episode 8, fixing up some TODOs throughout it, and putting it in svn. :)
05:58 cotto what time is it for you?
05:58 purl cotto: It's nearly six o'clock in the morning where I am.
05:58 cotto purl, go away
05:58 purl No, YOU go away, bud.
05:58 tcurtis cotto: 1 AM.
06:01 dalek squaak-tutorial: 1a6dcfc | tcurtis++ | doc/tutorial_episode_3.pod:
06:01 dalek squaak-tutorial: Ep3: remove variables won't be saved between lines of REPL bit, since it's not
06:01 dalek squaak-tutorial: longer true.
06:01 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/1a6dcfc7873671e2495bd7fa42785675c14a03f3
06:01 dalek squaak-tutorial: b7c5ece | tcurtis++ | src/Squaak/ (2 files):
06:01 dalek squaak-tutorial: Update example compiler with exercises from Ep7.
06:01 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/b7c5ece0a9539387966bad51cbbcef82e0ebb7c7
06:04 cotto any big plans for tomorrow or are you planning on waking up around 1:30 after a long night of tutorial hacking?
06:07 dalek squaak-tutorial: 7a71781 | tcurtis++ | doc/tutorial_episode_8.pod:
06:07 dalek squaak-tutorial: Ep 8, [',' ...]* -> ** ','.
06:07 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/7a7178124d033311d81c6b8626175aa154f2b3a1
06:07 dalek squaak-tutorial: 89d5cb3 | tcurtis++ | doc/tutorial_episode_8.pod:
06:07 dalek squaak-tutorial: Ep8: hash constructor can use **, too.
06:07 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/89d5cb340e25c79c8e4f68abf74b2a4cc2570127
06:07 dalek squaak-tutorial: df5feb7 | tcurtis++ | doc/tutorial_episode_8.pod:
06:07 dalek squaak-tutorial: Remove superfluous {*}.
06:07 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/df5feb7c59537b36b171e518961911c846ade061
06:07 tcurtis cotto: I plan to get up at 8:30-ish and feel like a zombie for a few minutes, then get back to work on something(unless I'm too tired/lazy to do anything productive, in which case, I'll probably just play a game or waste time on HN). :) No big plans, but not planning to sleep until 1:30, either.
06:08 bacek_mobile joined #parrot
06:08 cotto Mmmm.  HN.
06:09 cotto Oh noes.  The robots have phones now.
06:09 cotto I guess "Android" would be an appropriate choice.
06:11 bacek_mobile Bah :)
06:11 bacek_mobile Im just waiting for next meeting
06:11 bacek_mobile Using my Android phone ;)
06:12 * tcurtis was about to ask.
06:12 uniejo joined #parrot
06:12 bacek_mobile tcurtis, Galaxy S
06:14 cognominal joined #parrot
06:23 uniejo joined #parrot
06:24 dalek squaak-tutorial: 30b5123 | tcurtis++ | doc/tutorial_episode_8.pod:
06:24 dalek squaak-tutorial: More superfluous {*}.
06:24 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/30b5123eb1b33c6e3ca4d0ba7c5a40db8cf0df1e
06:24 dalek squaak-tutorial: 64df55f | tcurtis++ | doc/tutorial_episode_8.pod:
06:24 dalek squaak-tutorial: Ep8: postfix_expression is now a proto.
06:24 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/64df55f6e7b376e19261fb18f61fbdaeee67f320
06:30 dalek squaak-tutorial: 05c7841 | tcurtis++ | doc/tutorial_episode_8.pod:
06:30 dalek squaak-tutorial: Ep8: action method for postcircumfix:<[ ]>.
06:30 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/05c7841945539fcc9ac640ae32284d718875a344
06:30 dalek squaak-tutorial: 303e5a4 | tcurtis++ | doc/tutorial_episode_8.pod:
06:30 dalek squaak-tutorial: Ep8: explain action method for postcircumfix:<[ ]>.
06:30 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/303e5a407821d9178865f5b8bcd9b251f3a1c0b4
06:30 dalek squaak-tutorial: d4012b3 | tcurtis++ | doc/tutorial_episode_8.pod:
06:30 dalek squaak-tutorial: Ep8: $(...) -> .ast.
06:30 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/d4012b3351ab12fedee5bf5c3190802df3f535e6
06:30 dalek squaak-tutorial: 6172b42 | tcurtis++ | src/Squaak/ (2 files):
06:30 dalek squaak-tutorial: Compiler: bring up to date with indexed access.
06:30 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/6172b42be80721527ab780ceffae4bc2384c98fb
06:51 tcurtis Anyone not busy and want to read over what I've done so far and make sure it makes sense?
06:52 jsut joined #parrot
06:53 tcurtis moritz: do you know if there's a way to refer to a specific rule of a proto as it were a normal subrule? e.g. <term:sym<string_constant>>?
06:54 moritz tcurtis: no, there is not
06:55 moritz tcurtis: if you want that, make a separate rule string_constant
06:55 moritz and have term:sym<string_contstant> { <string_constant> }
07:00 cotto Shouldn't ep 1 advocate building squaak in an external dir rather than languages/ ?
07:01 cotto I'd also really like to get rid of the "installable_" prefix when running the compiler from the cwd, but that's a distutils gripe.
07:02 tcurtis cotto: Sounds good to me. Feel free to change it. ;)
07:03 cotto I have a commit bit and I'm not afraid to use it.
07:06 fperrad joined #parrot
07:21 dalek joined #parrot
07:22 cotto fperrad, could you make distutils to generate a fakecutable named "foo" in addition to "installable_foo" as part of the build process?
07:23 baest joined #parrot
07:35 dalek squaak-tutorial: c801edc | tcurtis++ | doc/tutorial_episode_8.pod:
07:35 dalek squaak-tutorial: Ep8: rewrite array/hash constructors in NQP.
07:35 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/c801edcea97cdb7feb42abd83fdf5989a42f904e
07:35 dalek squaak-tutorial: 7ef8807 | tcurtis++ | src/Squaak/Runtime.pm:
07:35 dalek squaak-tutorial: Runtime.pm: add array/hash constructors.
07:35 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/7ef88076696aed85dc346995ad660bbe33130ef8
07:35 dalek squaak-tutorial: 660ddd0 | tcurtis++ | doc/tutorial_episode_8.pod:
07:35 dalek squaak-tutorial: Ep8: I don't think PMC stands for that anymore.
07:35 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/660ddd03b1788794df319757650e1a02f5346732
07:35 dalek squaak-tutorial: 390e429 | tcurtis++ | doc/tutorial_episode_8.pod:
07:35 dalek squaak-tutorial: Ep8: Exercise 1, hashtable keyed access.
07:35 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/390e42996eaa8d98bc43e422e025bb29e60045b6
07:35 dalek squaak-tutorial: 09bcd0d | tcurtis++ | src/Squaak/Actions.pm:
07:35 dalek squaak-tutorial: Actions.pm: hash keyed access.
07:35 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/09bcd0dc7cace5e049449774c4f42487c7bf0a56
07:35 dalek squaak-tutorial: 0625661 | tcurtis++ | doc/tutorial_episode_8.pod:
07:35 dalek squaak-tutorial: Ep8: partially update exercise 2 solution.
07:35 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/0625661b80358ee64e4e192ee5c8381187a7780b
07:35 dalek squaak-tutorial: 718f48d | tcurtis++ | doc/tutorial_episode_8.pod:
07:35 dalek squaak-tutorial: Ep8: expression -> EXPR.
07:35 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/718f48da102c845dbf1fec76886a25beed05188d
07:35 dalek squaak-tutorial: e979de7 | tcurtis++ | doc/tutorial_episode_8.pod:
07:35 dalek squaak-tutorial: Ep8: array_constructor -> circumfix:sym<[ ]>, similarly for hash_constructor.
07:35 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/e979de7d1b721a1b214bc7f4ec154ddbcf050407
07:35 dalek squaak-tutorial: 7e86e34 | tcurtis++ | doc/tutorial_episode_8.pod:
07:35 dalek squaak-tutorial: Ep8: add remark about renaming term:sym<string_constant>.
07:35 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/7e86e34aa0df0a42c24ad48acad3ecbb4a227a48
07:35 dalek squaak-tutorial: e902801 | tcurtis++ | doc/tutorial_episode_8.pod:
07:35 dalek squaak-tutorial: Ep8: fix some silly mistakes.
07:35 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/e9028019c95659f39095ed6fc7fe426eb44bffc0
07:35 dalek squaak-tutorial: 6a6f75b | tcurtis++ | doc/tutorial_episode_8.pod:
07:35 dalek squaak-tutorial: Ep8: fix lack of sym typo.
07:35 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/6a6f75b629faf99ca05f8d0b0942dcd6da3fb5de
07:35 dalek squaak-tutorial: d4b979f | tcurtis++ | src/Squaak/ (2 files):
07:35 dalek squaak-tutorial: Compiler: Get hash/array constructors working.
07:35 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/d4b979f08307c69a90a79c217e758613dd6b1f7b
07:35 dalek squaak-tutorial: ff85503 | tcurtis++ | src/Squaak/Runtime.pm:
07:35 dalek squaak-tutorial: Runtime.pm: fix register number bug.
07:35 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/ff8550397216ce66941b7395e1d44a7d4c19e1b1
07:35 dalek squaak-tutorial: 4f03fca | tcurtis++ |  (2 files):
07:36 dalek squaak-tutorial: Add support for empty array/hash literals.
07:36 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/4f03fca6eca71014fc79864db51bbb2aff6b56b0
07:36 dalek squaak-tutorial: f2b9179 | tcurtis++ | doc/tutorial_episode_8.pod:
07:36 dalek squaak-tutorial: Ep8: update solution for Exercise 3.
07:36 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/f2b91793aa891a16ecaef9c6e8d26d3dc907b325
07:36 dalek squaak-tutorial: b59e109 | tcurtis++ | src/Squaak/ (2 files):
07:36 dalek squaak-tutorial: Compiler: implement dotty hash access.
07:36 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/b59e109fcadb289260dc1fe38eca0b5ade08e98f
07:38 Casan joined #parrot
07:40 cotto Hmmm.  Did that last commit dtrt or did I mess up?
07:41 dalek squaak-tutorial: 08df4a1 | cotto++ | doc/tutorial_episode_1.pod:
07:41 dalek squaak-tutorial: recommend out-of-svn build and add more F<> tags
07:41 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/08df4a18ed242a794c679a27c095058e3647e1e0
07:41 dalek squaak-tutorial: 3def2bc | cotto++ | doc/tutorial_episode_2.pod:
07:41 dalek squaak-tutorial: various English and POD improvements and fixes
07:41 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/3def2bc0388eeae4d733db14081d87e2b4903562
07:41 dalek squaak-tutorial: 23c614c | cotto++ |  (4 files):
07:41 dalek squaak-tutorial: Merge branch 'master' of github.com:ekiru/squaak-tutorial
07:41 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/23c614c4d55571ba4688471bc7128653e9581faf
07:43 cotto time for sleep
07:43 tcurtis Good night, cotto. Thanks for the English-fixing. :)
07:44 cotto I fixes what I knows.
07:44 tcurtis cotto: I'm about to have the life demo running. :)
07:45 tcurtis YAY! Updated Squaak tutorial Squaak successfully runs the life demo. :)
07:46 moritz tcurtis++
07:46 cotto tcurtis++
07:46 dalek squaak-tutorial: 9a16402 | tcurtis++ | doc/tutorial_episode_3.pod:
07:46 dalek squaak-tutorial: Ep3: make primary a term.
07:46 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/9a16402cf2d490c56772aa24ea8a56ef45181663
07:46 dalek squaak-tutorial: f12bbc6 | tcurtis++ | src/Squaak/ (2 files):
07:47 dalek squaak-tutorial: Compiler: make primary a term.
07:47 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/f12bbc617762b431dc5c3b429a855044b5cd2134
07:47 cotto The tutorial lies.  Implementing squaak is not trivial.
07:47 dalek squaak-tutorial: a8bc377 | tcurtis++ |  (2 files):
07:47 dalek squaak-tutorial: Fix double PAST::Valing of strings.
07:47 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/a8bc377fcb7868baf3a3607423432abe4874b29e
07:47 dalek squaak-tutorial: dbc8bbb | tcurtis++ | src/Squaak/Grammar.pm:
07:47 dalek squaak-tutorial: Make relational ops work.
07:47 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/dbc8bbb2f0cbc78ccad5bc361c8bd2c4148e7a19
07:47 dalek squaak-tutorial: 333026a | tcurtis++ | doc/tutorial_episode_ (2 files):
07:47 dalek squaak-tutorial: Merge branch 'master' of github.com:ekiru/squaak-tutorial
07:47 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/333026ae17f3d884375df37f0867f46a6b3f0da0
07:52 dalek squaak-tutorial: 5fc0d2e | tcurtis++ | doc/tutorial_episode_7.pod:
07:52 dalek squaak-tutorial: Ep7: fix relational ops.
07:52 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/5fc0d2e040496601b77ff563aa6108bcbaeaac93
07:58 dalek squaak-tutorial: e7a406f | tcurtis++ |  (2 files):
07:58 dalek squaak-tutorial: Make throw at least partially work.
07:58 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/e7a406fd7aaaf259024976602720ab9cf8f3196b
07:58 dalek squaak-tutorial: dd87c69 | tcurtis++ | doc/tutorial_episode_4.pod:
07:58 dalek squaak-tutorial: Ep4: Improve prose.
07:58 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/dd87c690f4fc8ba00bee44daade65d4002782aba
07:58 dalek squaak-tutorial: dff7114 | tcurtis++ | doc/tutorial_episode_7.pod:
07:58 dalek squaak-tutorial: Finish up another TODO.
07:58 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/dff71140f28a25be755926e6d1d506f4cc44ea6f
08:04 dalek squaak-tutorial: db5bd8e | tcurtis++ | doc/tutorial_episode_3.pod:
08:04 dalek squaak-tutorial: Ep3: briefly mention EXPR.
08:04 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/db5bd8e7ad8bd50048e3e5ed236a3cc2d76524ad
08:06 fperrad msg cotto
08:06 purl Sorry, I've never seen cott before.
08:06 fperrad $P1['parrot-foo'] = 'foo.pbc'
08:06 fperrad $P0['installable_pbc'] = $P1 # build installable_foo in built tree, and install it as parrot-foo
08:06 fperrad $P0['exe_pbc'] = $P1 # build foo fakexecutable in built tree
08:20 cotto wfm
08:20 * cotto really goes to bed
08:22 dalek squaak-tutorial: b56767a | cotto++ | doc/tutorial_episode_3.pod:
08:22 dalek squaak-tutorial: proofread the first half of ep 3, add a link to moritz++'s blog post on rules,
08:22 dalek squaak-tutorial: regexes and tokens
08:22 dalek squaak-tutorial: review: http://github.com/ekiru/squaak-tutorial/comm​it/b56767a00c3b0b31eaa60b046ef65ed45eb3ff48
08:41 dalek parrot: r48121 | tcurtis++ | trunk/examples/languages/squaak (20 files):
08:41 dalek parrot: Updated Squaak tutorial. See �http://github.com/ekiru/squaak-tutorial for history.
08:41 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48121/
08:41 dalek parrot: r48122 | tcurtis++ | trunk/MANIFEST:
08:41 dalek parrot: Regen manifest.
08:41 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48122/
08:52 AndChat| joined #parrot
08:58 AndyA joined #parrot
09:04 * tcurtis -> sleep, finally.
09:13 gaz joined #parrot
09:15 dalek parrot: r48123 | tcurtis++ | trunk/examples/languages/squaak (14 files):
09:15 dalek parrot: Satisfy codetest.
09:15 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48123/
09:31 snarkyboojum joined #parrot
12:18 lucian joined #parrot
12:18 kid51 joined #parrot
12:22 bluescreen joined #parrot
12:24 dalek rakudo: 3370f07 | moritz++ | docs/ChangeLog:
12:24 dalek rakudo: update ChnageLog
12:24 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​370f072e61abf0226ae08506d8aebea98c4e261
12:43 whiteknight joined #parrot
12:44 whiteknight good morning, #parrot
13:02 Coke hola
13:03 Coke I am thinking that it is not worth holding the release until 'make html' is done, mostly because I don't think I'm going to happen to finish it today.
13:03 Coke ah well.
13:14 atrodo Morning!
13:14 purl Mornings are great. Every time you experience morning, you're not dead yet!
13:14 atrodo Coke> How close are you?
13:15 Coke atrodo: welp, http://trac.parrot.org/parrot/wiki/CleanupMakeHtml ; and once I write more code, the "only in" is going to expand to an actual diff. =-)
13:16 cognominal joined #parrot
13:17 Coke actually, many of those "only ins" just need to be referenced from somewhere else. (that is, they need to find a page in docs/index/*.json that they can be linked to from.)
13:19 atrodo ugh, if I didn't have $DAYJOB, or it was something I could do quickly, i'd help
13:20 macroron joined #parrot
13:21 Coke no worries. I have all evening to hack on it, I should be able to get close.
13:23 dalek parrot: r48124 | coke++ | trunk/lib/Parrot/Docs/HTMLPage.pm:
13:23 dalek parrot: update copyright year in generated docs.
13:23 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48124/
13:26 Coke there's another 900 lines or so cleared up.
13:27 Coke I nearly undid the simple copyright fix I had done in branch before I realized I could also change trunk. :P
13:27 atrodo haha, nice
13:31 Coke ah, here's some LHF - re-merge trunk into the html_cleanup branch.
13:38 AzureStone joined #parrot
13:43 dalek tracwiki: v7 | coke++ | CleanupMakeHtml
13:43 dalek tracwiki: fixed the copyright date in trunk.
13:43 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Cle​anupMakeHtml?version=7&amp;action=diff
13:49 fperrad joined #parrot
13:54 atrodo Coke> So the idea is to get the diff to only report changes that are in the OK category?
13:55 Coke yes. I want to make sure that I'm duplicating existing functionality before ripping stuff out.
13:55 Coke and or bugfixin.
13:55 Coke (the old way of invoking pod2html was very... convoluted)
13:55 Coke new way is hopefully clearer.
14:07 bubaflub joined #parrot
14:09 gbacon joined #parrot
14:10 plobsing joined #parrot
14:44 bkuhn joined #parrot
14:54 tcurtis joined #parrot
15:09 khairul joined #parrot
15:11 snarkyboojum joined #parrot
15:20 davidfetter joined #parrot
15:21 TiMBuS joined #parrot
15:30 mmcleric joined #parrot
15:40 lucian this might be interesting to some http://morepypy.blogspot.com/201​0/07/comparing-spur-to-pypy.html
15:44 cotto_work ~~
15:45 cotto_work I'
15:45 cotto_work m always up for a littly PyPy in the morning.
15:45 atrodo Who wouldn't want PyPy in the morning?
15:47 cotto_work . o 0 (What do you do with a drunken python?)
15:47 atrodo Anything it wants to?
15:55 atrodo Hey cotto_work, I had a few questions about the new LoritoOps page, if you have a chance
15:57 cotto_work I have a chance.
15:57 cotto_work Much of what's there hasn't had a chance for discussion.
15:57 mmcleric joined #parrot
15:58 cotto_work I started that page more as a way to kickstart discussion than to dictate what the ops would be.
15:59 atrodo It looks pretty good to me, but I wanted to pick a brain of those that know more than I
15:59 cotto_work ditto ;)
15:59 atrodo What do you think about using load/store instead of getattr/setattr ?  To more align with existing nomenclature?
16:00 * atrodo loves every chance he gets to use the word "nomenclature"
16:01 cotto_work How so?
16:01 jnthn bind_attr would be much clearer about what it akshually does.
16:01 atrodo And it might be the way I think of it, but you're getting/setting memory inside a pmc.  In RISC lingo, that's load/store
16:02 jnthn That's what I'm leaning towards call the operation in the Rakudo representation API, anyways.
16:03 atrodo Or maybe the question really is, what kind of usage/magic does get_attr/set_attr have?
16:03 cotto_work Lorito should be as unmagical as possible.
16:04 atrodo so we wouldn't be addressing attr's by name then?
16:07 cotto_work I'm not sure how allison was thinking they'd work.  If the intent is to replace PMC ATTRs, there'd need to be a way to map names to offsets.
16:09 cotto_work If we have a sane way to map between names and offsets (or whatever the implementation uses), there doesn't need to be much magic.
16:09 rblasch joined #parrot
16:10 atrodo A simple pmc method could handle that?
16:10 tcurtis atrodo: but how do we implement the pmc methods?
16:12 atrodo tcurtis> I don't quite understand the question
16:17 theory joined #parrot
16:21 chromatic joined #parrot
16:25 dalek parrot: r48125 | tcurtis++ | trunk/examples/languages/sq​uaak/src/Squaak/Actions.pm:
16:25 dalek parrot: Fix a bug in hash indexing.
16:25 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48125/
16:32 cotto_work tcurtis, why the null?
16:35 tcurtis cotto_work: hmm... actually, that's probably wrong. I was trying to do something closer to returning nothing, since the print from the old Squaak didn't return anything.
16:36 * tcurtis afk
16:37 kthakore joined #parrot
16:42 dalek parrot: r48126 | tcurtis++ | trunk/examples/languages/sq​uaak/src/Squaak/Runtime.pm:
16:42 dalek parrot: Delete say function and implement the correct print function.
16:42 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48126/
16:42 dalek parrot: r48127 | coke++ | branches/html_cleanup/lib/​Parrot/Docs/PodToHtml.pm:
16:42 dalek parrot: Get basic breadcrumb working again. (only has "Home", nothing else)
16:42 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48127/
16:52 ash_ in nqp is there an equivalent of 'BUILD' ?
16:53 jnthn ash_: Not yet.
16:54 ash_ is there anyway to initialize variables?
16:56 mmcleric_ joined #parrot
16:56 mmcleric joined #parrot
16:58 dalek parrot: r48128 | coke++ | branches/html_cleanup (2 files):
16:58 dalek parrot: track breadcrumbs for non-trivial case
16:58 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48128/
16:59 Coke there. knocked another kilo-lines of diff off the branch.
16:59 Coke (down to 2043 lines of diff)
17:03 dalek tracwiki: v8 | coke++ | CleanupMakeHtml
17:03 dalek tracwiki: mostly fixed breadcrumbs.
17:03 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Cle​anupMakeHtml?version=8&amp;action=diff
17:03 bubaflub joined #parrot
17:05 tcurtis ash_: You can override new.
17:08 cotto_work khairul found an interesting hack to make that work (fsvo) with P6object
17:10 cotto_work see the method new in http://trac.parrot.org/parrot/brows​er/branches/gsoc_instrument/runtime​/parrot/library/Instrument/Base.nqp
17:13 jnthn A quicker hack is pir::new__pp(pir::typeof_pp(self))
17:13 jnthn er, __
17:17 ash_ i made a method (init) that calls .new and calls BUILD
17:18 ash_ so if build does get added later, i won't have to change much
17:19 jnthn ash_: +1. And it's quite feasible BUILD may get added later
17:19 chromatic Parrot had BUILD ages and ages ago.
17:19 ash_ nqp might need to peek into what parrot's doing :P
17:19 chromatic ... not that you'd want to use that object system now.
17:20 ash_ i imagine, in the coming months, nqp and parrot's object system might be converging a bit, or am i misunderstanding some of the future design goals
17:20 jnthn ash_: That depends.
17:20 jnthn ash_: It'd be the ideal that they have some commonalities at the base.
17:21 jnthn It's just finding those.
17:21 chromatic My design starts with Role as the fundamental unit of Mu-ness, then starts adding features onto instances of Role.
17:22 chromatic Not really "instances of Role" obviously--here's where the metacircularity of bootstrapping gets fun--but think of it this way: Class does Instantiable (which is a Role with the method "instantiate").
17:23 jnthn chromatic: The idea of meta-objects composed out of roles is certainly something I've got in mind too.
17:23 chromatic Then you need metaclass operations such as add/remove attribute, add/remove method, and dispatch.
17:23 chromatic I'm not sure where to put compose.
17:23 chromatic add/remove parent
17:23 chromatic *mumble* introspection
17:23 jnthn chromatic: *nod*
17:23 chromatic ... and that's about it.
17:24 chromatic Parrot itself needs a way to register a metaclass with an HLL.
17:24 ash_ aren't you working on a dynamic vtable too?
17:24 Coke mikehh: looks like most of the remaining 'make html' cleanups on the diff are "make code that worked before with Parrot::Distribution work with the new .json setup"
17:24 chromatic I think we can get away without dynamic vtables for the new MOP.
17:25 jnthn chromatic: I've started writing some stuff up and I'll get it blogged over the coming week or two.
17:25 jnthn *written up
17:25 ash_ wouldn't a dynamic vtable give you a speedup though?
17:25 chromatic Sounds good, jnthn.
17:25 chromatic I think Parrot can provide the foundation for almost everything Rakudo needs simply.
17:25 chromatic Where the Perl 6 semantics aren't exactly right for Parrot, you apply a different role to your metaclass.
17:26 jnthn chromatic: Well, for Perl 6 there's two APIs in a sense.
17:26 chromatic bless and not-bless?
17:26 jnthn chromatic: A representation API and a meta-package one.
17:26 jnthn As I see it, attribute storage is owned by the representation API, and dispatch is owned by the meta-package one.
17:27 jnthn The meta-package knows about attributes that are available.
17:27 jnthn But it's up to the representation to decide how that maps to a storage stratergy.
17:27 chromatic Seems like dispatch has to delegate to representation to *find* attributes and methods.
17:28 jnthn And thus attribute lookup is a (possibly inlined where possible) operation conducted through the representation.
17:28 jnthn Yes, since a meta-object is just an object.
17:28 jnthn Closing the loop at the bottom is where the fun is. :-)
17:28 jnthn Or the top, depending on how you look at it.
17:28 chromatic I wrote a self-hosting garbage collector once.  I'm not afraid.
17:28 jnthn :-)
17:28 Coke no, afraid is definitely the wrong word. :P
17:28 purl okay, Coke.
17:29 chromatic How much of this can we solve by inventing HasAttributes and CanDispatch roles?
17:29 chromatic Those names are hirsute yaks.
17:30 jnthn chromatic: Those kinds of roles make sense on meta-packages (a word I'm using to encompass the meta-objects associated with a class, a role, etc)
17:30 jnthn chromatic: I guess the question on representations is how "low level" they are.
17:30 jnthn chromatic: In Perl 6, they're not objects really.
17:30 jnthn chromatic: They're nameable thingies.
17:31 chromatic I'm coming at this from the interoperability perspective.
17:31 jnthn *nod*
17:31 chromatic Python 3 won't support $perlobj.META, but it should support $perlobj.awesome_method()
17:32 dalek parrot: r48129 | coke++ | branches/html_cleanup/lib/​Parrot/Docs/PodToHtml.pm:
17:32 dalek parrot: cleanup comments, remove really dead code,
17:32 dalek parrot: (make it obvious what was commented out just to make this work.)
17:32 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48129/
17:34 jnthn chromatic: Might Parrot be open at all to considering a representation API vs meta-package API distinction, or is that likely too 6-y?
17:34 jnthn chromatic: Just that the way I'm looking at things at the moment, it's kind of a fundemental.
17:35 jnthn Granted, it'd be possible to map get_attribute v-table calls or whatever we end up having onto a representation API call if not, so we can certainly be interoperable.
17:35 chromatic I admit that I don't entirely understand the distinction or the motivation.
17:36 jnthn chromatic: I'll write up something that tries to coherently explain it.
17:36 jnthn And hopefully gives a sense of why it matters in Perl 6 land.
17:36 chromatic Are you thinking "Gosh, I hate to allocate an RPA of boxed primitives for the attributes of every object instance"?
17:37 jnthn chromatic: I'm saying more that that's an implementation detail hidden behind an API.
17:37 chromatic In other words, "How an object stores its attributes depends on the representation API of the metaclass"?
17:38 jnthn I see it as more that there's a meta-class API and a representation API.
17:38 jnthn In Perl 6, a given class may specify a preference for it's underlying storage stratergy. The default is P6opaque.
17:38 jnthn It's kinda like how in Perl 5 you can bless an array or a hash
17:38 chromatic I follow so far.
17:39 jnthn But that's orthogonal to the meta-class really
17:39 jnthn That is, if the class was specified as being open to any representation, you could do like
17:40 jnthn Dog.bless(Dog.CREATE('MyRepr'), ...)
17:41 jnthn Where that object would use whatever storage approach MyRepr specified.
17:41 jnthn To take examples in S12, .CREATE('P6opaue'), .CREATE(P6hash') and so forth.
17:41 chromatic I look forward to reading your notes on this.  It has some interesting implications.
17:41 ash_ .CREATE('NSDictionary') ... :P
17:42 ash_ (then i could pass it to obj-c as a obj-c hash)
17:42 chromatic I don't know if I want to introduce polymorphic roles as the fundamental unit of Mu-ness in Parrot's MOP though.
17:42 jnthn chromatic: Yes, it's kinda another degree of freedom.
17:43 chromatic I don't know right now if Parrot will *provide* that behavior natively, but I'll make sure that Parrot makes it possible for Rakudo to support it and still interoperate with other languages.
17:43 jnthn chromatic: Aye
17:43 jnthn I think we'll be able to work out a wya.
17:43 jnthn *way
17:44 chromatic Parametric roles being a non-hideous, type-safe form of Dependency Injection.
17:45 jnthn I'd not really considered having parametric roles at a very deep level yet.
17:45 jnthn Thing is the Perl 6 ones need to be matched based on multi-dispatch.
17:46 chromatic That's where things get complicated.
17:46 jnthn Doens't mean we can't have something much simpler at a lower level
17:46 chromatic It's possible when *constructing* a class you can swap in a more complex (or at least more different) dispatch strategy.
17:46 chromatic s/class/metaclass/ && s/swap/compose/
17:47 chromatic That is, if you know methods of the class have protos or multis, you can use the full dispatcher.
17:47 chromatic I think Perl 6 gives you enough lexical information to decide that.
17:48 jnthn Oh, I expect that Rakudo will stay having a custom dispatcher.
17:48 jnthn It's not just about multis.
17:48 jnthn I just hope to provide a cleaner way to do it than today.
17:48 jnthn Multi-methods aren't really a big deal though under current Perl 6 spec.
17:48 chromatic Sure, there's always redispatch and such.
17:48 jnthn They're essentially nested dispatches.
17:49 chromatic Parrot needs to support multidispatch too though.
17:49 chromatic ... not that it goes as far as where clauses.
17:50 jnthn *nod*
17:51 jnthn I think it's clear that we need the ability to have custom dispatchers.
17:51 jnthn Cleanly.
17:51 chromatic Absolutely.
17:51 purl Oh my, yes.
18:02 rblasch joined #parrot
18:04 dalek parrot: r48130 | tcurtis++ | trunk/examples/languages/squaak/src/Squaak (2 files):
18:04 dalek parrot: [squaak] Get tests passing.
18:04 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48130/
18:04 dalek parrot: r48131 | mikehh++ | branches/html_cleanup/lib/​Parrot/Docs/PodToHtml.pm:
18:04 kthakore hi folks
18:04 dalek parrot: fix codetest failure - trailing whitespace
18:05 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48131/
18:05 tcurtis kthakore: Hi.
18:05 kthakore tcurtis: can I read how pmc files work?
18:05 theory joined #parrot
18:05 kthakore tcurtis: where ^
18:06 tcurtis kthakore: http://docs.parrot.org/parrot/lates​t/html/docs/pdds/pdd17_pmc.pod.html is the PDD
18:06 kthakore ok
18:07 tcurtis kthakore: http://docs.parrot.org/parrot/lates​t/html/tools/dev/gen_class.pl.html describes how to create them.
18:07 tcurtis kthakore: http://docs.parrot.org/parrot/la​test/html/docs/vtables.pod.html is more information about them.
18:08 kthakore tcurtis: thanks
18:08 tcurtis kthakore: http://docs.parrot.org/parrot/lates​t/html/docs/user/pir/pmcs.pod.html looks like a more tutorial-ish description.
18:09 kthakore woot!
18:09 cotto_work "work" should be in quotes.
18:09 kthakore tcurtis: how do two pmcs work together
18:11 cotto_work kthakore, is there something specific you're looking for?
18:12 kthakore cotto_work: I am working on a ticket to swap out string.pmc useage in stringhandle.pmc with stringbuilder.pmc
18:13 cotto_work ok.  Is the use of string a performance issue for something you care about?
18:13 kthakore cotto_work: well it is supposed to be a newbie ticket
18:13 kthakore cotto_work: bacek_at_work put me on it
18:13 cotto_work then it's safe to assume it's worth doing
18:14 dalek TT #1707 created by mikegrb++: attempt to mmap 2325622477335777280 bytes when printing utf8 in perl6
18:14 dalek TT #1707: http://trac.parrot.org/parrot/ticket/1707
18:14 kthakore cotto_work: TT #1639
18:14 cotto_work That is not a small number.
18:14 kthakore cotto_work: the number matters?
18:15 * kthakore is feeling a bit lost now
18:15 cotto_work referring to #1707
18:15 kthakore oh ok
18:16 kthakore cotto_work: holy shit ... that is scary
18:16 kthakore wth?
18:16 purl wth is, like, Flavour
18:16 chromatic Sounds like binary incompatibility.
18:16 kthakore chromatic: there was a sound?
18:16 chromatic Everything makes a sound.
18:17 kthakore chromatic: maybe the RAM exploding
18:17 Coke especially chromatic.
18:17 kthakore Coke: hi
18:17 kthakore ok reading time for kthakore ...
18:17 kthakore learning new shit ... :D
18:18 * Coke ponders calling chromatic Shi Er Lüfrom now on.
18:20 eternaleye joined #parrot
18:21 tcurtis kthakore: what happens if you replace "ATTR STRING *stringhandle" to "ATTR PMC *stringhandle" and the "if (STRING_IS_NULL(old_string)) {" block in the open method with whatever the syntax for new in PMCs is?
18:21 tcurtis kthakore: more specifically, how much does it explode? ;)
18:22 kthakore tcurtis: lets find out :D
18:22 kthakore tcurtis: I was stupidly thinking I need to change Parrot_str_new
18:22 kthakore as that is how it initializes in open
18:23 kthakore line 198
18:23 macroron joined #parrot
18:24 tcurtis kthakore: Well, you would need to get rewrite that bit, since PMCs are created differently that STRINGs in C.
18:25 kthakore it uses init() from src/pmc/string.pmc right?
18:25 kthakore and for the STRING_IS_NUL
18:25 kthakore we can use get_bool() ?
18:25 Coke You'd want to create a new StringBuilder pmc, which is more like pmc_new(interp, enum_class_StringBuilder )
18:26 kthakore but isn't there already a StringBuilder pmc?
18:26 particle you need an instance of the class
18:27 kthakore 0o
18:27 kthakore ok
18:27 * kthakore goes reading some more
18:29 joeri joined #parrot
18:29 kthakore particle: um .... sorry newb question again ...  how do I do that in *.pmc files
18:29 kthakore particle: I know in PIR we do newclass right?
18:30 kthakore particle: is it newclass('StringHandler')
18:30 tcurtis kthakore: in PIR, creating an instance of the class is with "new WhateverClass"
18:30 kthakore ok
18:30 particle pmc_new
18:30 tcurtis kthakore: I think in C, it's what Coke said: "pmc_new(INTERP, enum_class_StringBuilder)"
18:30 kthakore ah ok
18:30 kthakore so in open()
18:30 kthakore I do pmc_new
18:31 cotto_work ideally with a hllmap thrown in for good measure
18:31 kthakore and then set that too the ATTR PMC *stringhandler ?
18:31 kthakore cotto_work: hllmap?
18:31 kthakore how do I access the StringBuilder methods ?
18:32 kthakore wait ...
18:32 purl i think wait ... is that one of his other silly conventions? placing a 'G' in front of any account that he thinks is global?
18:32 cotto_work HLLs can override Parrot's built-in types with their own.
18:32 kthakore cotto_work: 0o
18:32 particle purl, forget wait ...
18:32 purl particle: I forgot wait
18:33 whiteknight purl wait is <reply>Sure, I can wait. I've got plenty of time. It's you mortal meat bags that need to hurry
18:33 purl OK, whiteknight.
18:33 cotto_work Just pass enum_class_StringBuilder through Parrot_get_ctx_HLL_type() before you use it.
18:34 cotto_work pmc_new(INTERP, Parrot_get_ctx_HLL_type(INTERP, enum_class_StringBuilder));
18:34 kthakore ok
18:34 dolmen joined #parrot
18:36 bluescreen joined #parrot
18:36 kthakore cotto_work: ok so in open() I am doing new_string = pmc_ ...
18:37 kthakore hmm
18:37 kthakore cmpilign
18:37 tcurtis kthakore: you'll probably end up having to change lots of string API calls to vtable calls, unfortunately.
18:38 dalek parrot: r48132 | tcurtis++ | trunk/examples/languages/squaa​k/doc/tutorial_episode_9.pod:
18:38 dalek parrot: [squaak] Fix a reference to old location of print built-in.
18:38 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48132/
18:38 kthakore tcurtis: ok
18:38 kthakore tcurtis: I am willing to try ... but honestly I feel totally lsot
18:38 kthakore lost
18:38 kthakore tcurtis: how do people break into this?
18:39 kthakore I am reading the docs but I don't see anything about hll stuff in pcmc
18:39 kthakore or even why I need to do that
18:39 * kthakore is level -1 again :D
18:39 NotFound cotto_work: I think that the StringBuilder should be an internal detail of the StringBuilder, nothing that HLL must worry.
18:39 NotFound of the StringHandle, I mean
18:39 particle kthakore++ for your enthusiasm, your tuits, and your good questions
18:40 tcurtis NotFound: especially since neither StringBuilder nor StringHandle currently handle anything but STRING *.
18:40 kthakore particle: hey when you spend as much time at level -1 as I do it is good to smile :D
18:40 dalek winxed: r565 | NotFound++ | trunk/winxedst1.winxed:
18:40 dalek winxed: some more const float expression optimizations
18:40 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=565
18:41 tcurtis kthakore: I'm pretty sure magic and lots of questions are usually involved.
18:41 * tcurtis personally isn't really capable of mucking about in the C bits of Parrot yet.
18:42 NotFound tcurtis: some days I think that no one really is %-)
18:42 NotFound "really" is such a strong word...
18:43 particle s/Parrot/IMCC/ and i agree fully. no one is.
18:43 kthakore ok so I am doing a 'ack -l string_make' to find out where it comes for as StringHandle::open uses it to make the unicode string
18:43 kthakore but if I make a new_pmc now
18:43 kthakore StringBuilder should do unicode now right?
18:43 kthakore instead of string_make
18:43 tcurtis kthakore: I think StringBuilder will handle the encoding stuff, yes.
18:44 kthakore ok
18:44 kthakore lets see ...
18:45 kthakore ok woo!
18:45 kthakore it does it in the internal buffer it self
18:45 kthakore ok
18:45 kthakore for push_string
18:46 kthakore so now that I have a new_string that is a StringBuilder
18:46 kthakore I just need to push_string() to init it?
18:47 kthakore um ... I did make
18:47 kthakore but it won't recompile the pmc
18:47 kthakore ...
18:47 kthakore well the test passed
18:47 kthakore ...
18:48 kthakore but I don't think the new pmc compiled
18:48 kthakore hmm
18:48 cotto_work you can nuke the object file
18:48 cotto_work though it should recompile
18:48 kthakore cotto_work: ah good point
18:49 cotto_work or the C file, though that sounds like it's merely papering over a different problem
18:49 kthakore oh boy lots of warnings
18:50 kthakore incompatible pointers
18:50 kthakore hah
18:50 cotto_work Warnings are great.  They tell you something's probably wrong.
18:50 kthakore yeah
18:50 kthakore I think change the attr proolly messed with other things
18:51 kthakore cotto_work: um .... another newbie ... so I did new_pmc .. StringBuilder
18:51 kthakore cotto_work: I access push_string with new_string->push_string() right?
18:51 darbelo joined #parrot
18:51 kthakore or push_string( INTERP, new_string)
18:52 kthakore wtf ... the test passed
18:52 kthakore but that makes no sense?
18:52 purl Chewbacca!
18:52 kthakore oO
18:52 whiteknight kthakore: VTABLE_push_string(INTERP, pmc, new_string)
18:52 kthakore whiteknight: ah
18:52 kthakore where do parameteres go?
18:53 chromatic What parameters?
18:53 purl parameters are definitely in the scope of the callee
18:53 whiteknight for push_string?
18:54 whiteknight push_string takes two parameters: the PMC target and the new string
18:55 dalek parrot: r48133 | mikehh++ | trunk/examples/languages/squaak/src/Squaak (4 files):
18:55 dalek parrot: add shebang line to prevent examples/languages/squaak/src/Squaak/*.pm files being tested by perlcritic
18:55 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48133/
18:57 kthakore chromatic: well what I am trying to do is replace make_string
18:57 kthakore for unicode
18:57 kthakore with StringBuilder's push_string
18:57 kthakore line 198 src/pmc/stringhandle.pmc
18:58 bubaflub joined #parrot
18:58 kthakore hmm ... GET_ATTR_stringhandle won't work with PMC
18:58 kthakore instead of STRING
18:58 kthakore ok ...
18:59 kthakore acking for GET_ATTR
18:59 kthakore no ... wait
18:59 AndyA joined #parrot
19:00 kthakore GET_ATTR_stringhandle(INTERP, SELF, stringhandle);
19:01 kthakore so if I am trying to get the stringhandle attr but from SELF
19:01 kthakore and put it in PMC stringhanle
19:01 kthakore handle
19:01 kthakore it should work
19:01 kthakore I think
19:02 kthakore hrmmm
19:03 tcurtis PMC *stringhandle, you mean?
19:03 kthakore yeah
19:06 tcurtis You changed the ATTR to "ATTR PMC", right? and you declared a "PMC *stringhandle;" variable?
19:07 kthakore ok ...
19:07 kthakore tcurtis: yeah
19:07 kthakore tcurtis: can I so you the diff so far?
19:07 tcurtis kthakore: Sure. Frankly, I'm not sure I can provide much help.
19:08 * tcurtis is mostly familiar with the PIR/NQP/HLL side of things.
19:08 kthakore tcurtis: ok
19:08 tcurtis kthakore: but I'll try. :)
19:08 kthakore tcurtis: so will I
19:08 kthakore :D
19:09 nopaste "kthakore" at 192.168.1.3 pasted "StringHandler" (43 lines) at http://nopaste.snit.ch/22173
19:10 kthakore tcurtis: ^^
19:10 cotto_work #ps in 111.  Don't forget chromatic's request: http://lists.parrot.org/pipermail​/parrot-dev/2010-July/004517.html
19:10 kthakore crap ... why can it not find the VTABLE_init(INTERP, StringBuilder
19:10 kthakore whut gives
19:11 cotto_work One of the special things about pmc2c is that if your code is slightly misformatted, VTABLE functions and METHODs can get silently dropped on the floor.
19:11 kthakore cotto_work: really?
19:11 kthakore er ....
19:11 cotto_work yes
19:11 chromatic +VTABLE_get_string(INTERP, StringHandle, buffer);
19:11 kthakore XS time again!
19:11 chromatic There's no StringHandle in scope there; you have a casing error.
19:12 kthakore errr
19:12 cxreg joined #parrot
19:12 kthakore StringBuilder
19:12 purl i guess StringBuilder is better at doing concats than String.
19:12 kthakore shit
19:12 chromatic More than that, you mean buffer = VTABLE_get_string(INTERP, stringhandle);
19:13 kthakore oh ...
19:13 kthakore ok
19:13 chromatic ... and probably drop the VTABLE_init().
19:13 chromatic VTABLE_set_string_native() is better.
19:13 chromatic (init() gets called implicitly from pmc_new())
19:14 chromatic (I (remember `(lisp)))
19:14 kthakore oh ok
19:14 chromatic ... although you don't need to call VTABLE_set_string_native() here at all either.
19:15 tcurtis chromatic: don't you mean (remember I `(lisp))?
19:15 kthakore but it says ... StringBuilder not declared
19:15 kthakore GET_ATTR_stringhandle(INTERP, SELF, stringhandle);
19:15 kthakore oops
19:15 chromatic You have no variable named StringBuilder.  You've declared PMC *stringbuilder.
19:15 rurban joined #parrot
19:16 kthakore o hright
19:16 kthakore I thought it was by namespaces
19:16 kthakore err sorry
19:16 chromatic Think of VTABLE_foo() like really ugly method dispatch.
19:16 chromatic It's always VTABLE_foo(INTERP, invocant, ....)
19:18 kthakore ah ok
19:18 kthakore so I have to get_attr each time
19:18 kthakore I want to use it on stringhandle
19:18 kthakore hmm ...
19:21 kthakore yay!
19:21 kthakore ...
19:21 kthakore some working
19:21 kthakore level -0.999999998 achieved
19:22 kthakore :D
19:23 kthakore it gets all the way to
19:23 kthakore rror: ‘StringBuilder’ undeclared (first use in
19:23 kthakore oops
19:23 kthakore not that
19:24 kthakore make: *** [src/dynoplibs/io_ops.c] Segmentation fault
19:24 kthakore I think I need to fix the warnings
19:24 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#34980), fulltest) at r48133 - Ubuntu 10.04 amd64 (g++)
19:27 kthakore I don't need to Parrot_gc_mark_STRING_alive right?
19:27 kthakore as it is a PMC?
19:28 chromatic Parrot_gc_mark_PMC_alive
19:28 kthakore show I do Parrot_gc_mark_PMC_alive?
19:28 kthakore chromatic: :D
19:28 kthakore I got that one. wooo!
19:28 sorear chromatic: #phasers is asking about you.
19:30 chromatic What's #phasers?
19:30 purl well, #phasers is asking about you.
19:30 sorear the new name of #rakudosketch
19:30 sorear on freenode
19:30 sorear R* planning
19:30 sorear 14:28 < PerlJam> Do we have a press date for the book from chromatic?  Or do we  need to tell him when?
19:30 sorear etc
19:30 chromatic thanks
19:32 moritz on freenode
19:32 LoganLK joined #parrot
19:37 gbacon joined #parrot
19:40 rblasch_ joined #parrot
19:40 kthakore hi moritz
19:40 moritz hi
19:41 kthakore moritz: I am learning pmc :D
19:41 moritz fun :-)
19:42 tcurtis chromatic:  what was the code you refer to at http://news.ycombinator.com/item?id=1527392 ?
19:43 chromatic Test::Builder
19:43 purl it has been said that Test::Builder is the underlying mecahnism for doing the ok/not ok.
19:44 kthakore chromatic: how come I cannot call get_string_length (METHOD in stringbuilder.c) using VTABLE_get_string_lenght
19:45 chromatic Methods and VTABLEs are different things.
19:45 kthakore oh ..
19:45 kthakore I can't fine 'calling Method for pmc ' in the wiki
19:45 kthakore ...
19:46 chromatic SELF.method(args)
19:46 dalek parrot: r48134 | khairul++ | branches/gsoc_instrument (9 files):
19:46 dalek parrot: Rough cut of instrumenting methods + vtable overrides + Regenerated vtable stubs.
19:46 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48134/
19:46 * kthakore slaps himself
19:49 kthakore chromatic: wait ... I can't do new_string.get_string_length
19:49 kthakore .... it is a PMC*
19:49 Chandon Why, in Parrot_pmc_new_init, is the init arg an ARGOUT?
19:49 chromatic kthakore, can you post another diff?
19:49 kthakore chromatic: sure
19:50 nopaste "kthakore" at 192.168.1.3 pasted "StringHandler... line 383" (121 lines) at http://nopaste.snit.ch/22174
19:50 kthakore chromatic: ^^
19:51 mmcleric_ joined #parrot
19:51 kthakore oops I need to use buffer_size there
19:54 chromatic kthakore, seems to me you could use status = Parrot_str_byte_length(INTERP, buffer) before performing any concatenations and updates.
19:54 chromatic Then you don't need to call methods.
19:54 chromatic Oh, except you need the new string length.
19:54 chromatic You definitely don't need this: +        SET_ATTR_stringhandle(INTERP, SELF, old_string);
19:55 kthakore ok
19:55 chromatic For the new string length, do it in two steps.  VTABLE_get_string(), then Parrot_str_whichever
19:55 whiteknight joined #parrot
19:56 NotFound joined #parrot
19:56 kthakore chromatic: that makes more sense
19:57 kthakore chromatic: however how do I call methods of other PMC here?
19:57 chromatic It's two steps instead of one, but it's straightforward and much faster.
19:57 chromatic Parrot_pcc_invoke_method_from_c_args(...)
19:58 kthakore ok
19:59 kthakore chromatic: ok I got it done I think
19:59 kthakore I will make and test
19:59 kthakore thank you very much
20:05 dalek winxed: r566 | NotFound++ | trunk/examples/fly.winxed:
20:05 dalek winxed: some refactoring and minor visual changes in example fly
20:05 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=566
20:05 kthakore I had to change io
20:06 patspam joined #parrot
20:07 kthakore crap ... it segfaults at io_ops.c
20:07 kthakore :\
20:09 kthakore yay :(
20:09 kthakore crappy reisntall
20:11 kthakore this shouldn't affect anything in imcc ? right?
20:13 chromatic Right.
20:13 chromatic ish
20:14 kthakore hehe
20:14 kthakore ok
20:15 kthakore cause io_ops thingy is segafualt
20:15 kthakore in
20:17 tcurtis kjs?
20:17 purl kjs is Klaas-Jan Stol <mailto:parrotcode@gmail.com> from The Netherlands or KHTML (read Safari/Koqueror)'s JavaScript engine... or called kj these days. or known as kj
20:17 tcurtis kj?
20:17 purl kj is Klaas-Jan Stol or mailto:parrotcode@gmail.com or known as kjs
20:17 tcurtis Is kj/kjs still involved with Parrot?
20:17 cotto_work tcurtis, he wrote the original version of the squaak tutorial
20:18 cotto_work not very actively of late
20:18 cotto_work He's dropped by once or twice in recent memory.
20:18 cotto_work seen kj
20:18 purl kj was last seen on #parrot 9 days, 9 hours, 15 minutes and 37 seconds ago, saying: ooh ok.  [Jul 11 11:02:57 2010]
20:18 * kthakore cries
20:19 kthakore ./ops2c --dynamic src/dynoplibs/io.ops --quiet
20:19 kthakore make: *** [src/dynoplibs/io_ops.c] Segmentation fault
20:19 kthakore ~
20:19 kthakore ~
20:19 kthakore crap
20:20 Chandon That looks like a ton of fun.
20:21 kthakore Chandon: all I did was play in String
20:21 kthakore :(
20:22 nopaste "kthakore" at 192.168.1.3 pasted "this is all I messed with" (201 lines) at http://nopaste.snit.ch/22175
20:24 kthakore tcurtis: HALP!
20:24 kthakore tcurtis: I broke it :(
20:26 kthakore ok I will jsut update the ticket and call it a day
20:29 chromatic #ps in 1
20:31 darbelo #ps in 0
20:31 whiteknight #ps in -1
20:32 dalek rakudo: 2783660 | moritz++ | src/core/IO.pm:
20:32 dalek rakudo: dir() now defaults to filtering out . and ..
20:32 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/2​783660790718bb69e0442785ea41bdddb04ae5e
20:33 kthakore #ps wth/
20:33 kthakore whiteknight: hi
20:34 whiteknight hello kthakore
20:34 kthakore Is there a dep on io.ops from io/api.pmc from stringhandle.pmc ?
20:34 tcurtis #ps?
20:34 purl #ps is a status meeting for parrot core committers held every Tuesday at 18:30 UTC in #parrotsketch
20:35 darbelo kthakore: The ops in io.ops probably use functions from io/api.c if that's what you mean.
20:35 kthakore darbelo: oh
20:35 kthakore darbelo: can you see TT#1639
20:35 kthakore I am stuck and I can't debug
20:36 chromatic Anyone for making auto_attrs the default?  TT #1506
20:37 kthakore darbelo: also how do I accept that ticket?
20:38 Coke chromatic: that ticket is closed...
20:39 chromatic Right, but it suggests deprecating manual attrs and making auto_attrs the default.
20:39 kthakore Coke: close it HARDER!
20:39 darbelo chromatic: +1 here.
20:40 tcurtis +0.5 as I'm not familiar enough with PMC/C-land to know if there's any reason not to.
20:40 chromatic Basically it removes manual memory management from PMCs.
20:41 Coke chromatic: I don't think it's worth picking a default. having it be a required field is fine.
20:41 Coke nice, but very low on my priority list.
20:41 chromatic That was the only experimental item I cared sufficiently about.
20:42 kthakore so ...
20:42 kthakore oh well
20:45 chromatic kthakore, the random indentation changes in the patch are confusing.
20:45 kthakore chromatic: oh ok
20:45 kthakore is there a parrottidy?
20:46 chromatic There are coding standards tests under t/
20:46 chromatic Mostly "please, no tabs"
20:46 darbelo 'make codetest' will run them all and complain if you go wrong.
20:47 kthakore chromatic: ok
20:48 chromatic This doesn't make sense to me:
20:48 chromatic +    new_string = pmc_new(INTERP, Parrot_get_ctx_HLL_type(INTERP, enum_class_StringBuilder));
20:48 chromatic +    VTABLE_set_string_native(INTERP, new_string, buffer);
20:48 rblasch__ joined #parrot
20:48 chromatic If you're creating a new string, store only that in the existing StringBuilder.
20:48 chromatic No need to create a new SB unless you don't already have one.
20:48 kthakore that is where ther isn't one
20:49 chromatic That's not how I read the code.
20:49 chromatic +        if (STRING_IS_NULL(buffer)) {
20:49 chromatic That's very different from if (PMC_IS_NULL(stringbuilder)) { ... }
20:49 kthakore ah ok
20:49 kthakore so ...
20:49 kthakore we have to check PMC_IS_NULL there
20:50 kthakore because it is open()
20:50 chromatic If there's no valid SB, this line won't do what you want: +string_result = VTABLE_get_string(INTERP, stringhandle);
20:51 chromatic ... but the name stringhandle there seems inappropriate, because isn't a stringbuilder?
20:52 chromatic This doesn't make sense either:
20:52 chromatic +VTABLE_i_concatenate_str(INTERP, old_string, to_print);
20:52 chromatic +buffer = VTABLE_get_string(INTERP,old_string);
20:52 chromatic RETURN(INTVAL status);
20:52 chromatic Why assign to buffer if you don't use it?
20:52 kthakore um ... that was stupid
20:53 chromatic Fix the problem in open() and your bug will probably go away.
20:53 kthakore ok
20:54 chromatic You might need to write a static helper function fetch_or_create_stringbuilder().
20:55 kthakore chromatic: also fro get_bool in stringbuilder?
20:55 kthakore or empty
20:56 theory joined #parrot
20:56 chromatic I haven't audited the whole of the code, but any place you want to use a SB (and not just see if one exists and return early if not) it may help.
20:56 chromatic It may not be useful anywhere other than open().
20:57 kthakore ok
20:57 Coke "I, for one, welcome our new Parrot-based Overlords" - ingy
21:04 dalek winxed: r567 | NotFound++ | trunk/examples/fly.winxed:
21:04 dalek winxed: use fixed frame rate to avoid eating too much cpu in example fly
21:04 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=567
21:05 hercynium joined #parrot
21:08 whiteknight Maybe I missed something: what is POC?
21:08 tcurtis poc?
21:08 purl poc is this chat, which is running under same in vmware or proof of concept. or piece of crap
21:08 tcurtis proof of concept, I'd guess.
21:08 whiteknight ah, okay
21:08 NotFound I hope is not the last aception.
21:09 darbelo purl poc is also Pint of Custard
21:09 purl okay, darbelo.
21:11 kthakore wooot! it worked!
21:11 moritz poc is also Point of Contact
21:11 purl okay, moritz.
21:14 kthakore um ...
21:14 kthakore wtf
21:14 kthakore Failed allocation of 5011178570016358400 bytes
21:14 kthakore Parrot VM: PANIC: Out of mem!
21:14 kthakore C file src/gc/gc_ms.c, line 1380
21:14 kthakore but I adde PMC to the gc
21:14 kthakore but it doesn't delete
21:14 kthakore or die
21:15 kthakore crap
21:15 chromatic Do you have a backtrace?
21:21 kthakore chromatic: how do I do that?
21:21 chromatic gdb ./parrot
21:21 chromatic r some_program arg1...argn
21:21 chromatic -= CRASH =-
21:21 chromatic bt
21:21 AndyA_ joined #parrot
21:22 kthakore ah ok ...
21:24 AndyA__ joined #parrot
21:27 Coke leaving now
21:29 kthakore chromatic: ok ... I updated the patch
21:30 kthakore chromatic: I have to go home I will try again
21:30 kthakore chromatic: can you give me access so I can accept the ticket?
21:30 chromatic If I'm not here, someone will be able to review it for you.
21:30 kthakore chromatic: thank you so much
21:36 tcurtis Coke: should I add a NEWS entry for Squaak or let you do so?
21:39 mikehh tcurtis: I would say add it - if Coke doesn't like it he can change it :-}
21:39 * tcurtis forgot Coke had to leave.
21:42 dalek parrot: r48135 | tcurtis++ | trunk/examples/languages/squaak/MAINTAINER:
21:42 dalek parrot: Make myself MAINTAINER of Squaak.
21:42 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48135/
21:42 dalek parrot: r48136 | tcurtis++ | trunk/NEWS:
21:42 dalek parrot: Add NEWS entry for Squaak tutorial update.
21:42 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48136/
21:42 dukeleto hola
21:42 purl niihau, dukeleto.
21:42 dukeleto did 2.6 hit the interwebs yet?
21:43 tcurtis dukeleto: not yet.
21:44 dukeleto tcurtis++ on maintaining squaak
21:45 darbelo dukeleto: Nopes, coke hasn't tagged it yet.
21:48 joeri left #parrot
21:51 kthakore :D
21:51 kthakore darbelo: can I get access on Trac to accept tickets?
21:53 darbelo kthakore: I have no idea, I'm not a Trac admin. Coke, particle, chromatic and allison are IIRC.
21:57 kthakore ok
21:57 rblasch_ joined #parrot
21:59 dukeleto kthakore: you should be able to accept a ticket if you have a trac account
22:06 tcurtis cotto_work: I'm planning to write up a long list of questions about what Lorito should be like tonight and put them on the wiki somewhere. Less structured than LoritoRoadmap and such, but hopefully that will mean it will have a lower barrier to entry so that more people will feel comfortable to pop in and add their view on the best answer to one of them or to add more.
22:06 hercynium joined #parrot
22:06 chromatic +1 tcurtis
22:07 cotto_work tcurtis, great
22:07 kthakore dukeleto: I cant
22:08 tcurtis Including some that I'm pretty sure of the answer to already, but it still might be helpful to clarify and ensure that there's agreement on the matter.
22:09 cotto_work tcurtis, throw it on the wiki
22:09 dukeleto kthakore: which ticket are you talking about?
22:09 cotto_work Having a question with a known answer would make the wiki page more accessible.
22:09 chromatic TT #1639, dukeleto.
22:10 * tcurtis will add more to his current list and put it on the wiki later tonight.
22:10 kthakore dukeleto: it was more coupled then previously tought
22:10 kthakore dukeleto: I need more time
22:11 kthakore so I want to accept ticket
22:12 darbelo coverage?
22:12 purl coverage is, like, http://cv.perl6.cz or http://tapir2.ro.vutbr.cz/cover/cover-results/
22:12 darbelo Chandon: ^
22:13 Chandon Neat. I'll have to check that out.
22:14 kthakore dukeleto: maybe even just assign me that ticket?
22:14 kthakore oh well gtg
22:15 Hunger joined #parrot
22:19 cotto_work msg Coke Don't forget to include SHA1 checksums with the release announcement.
22:19 purl Message for coke stored.
22:20 blazes816 joined #parrot
22:21 blazes816 joined #parrot
22:22 TylerSmith joined #parrot
22:24 * tcurtis is assuming #ps is over.
22:24 * tcurtis -> away.
22:26 dalek TT #1708 created by Chandon++: ParrotThread PMC depricated
22:26 dalek TT #1708: http://trac.parrot.org/parrot/ticket/1708
22:26 dalek TT #1709 created by Chandon++: Task PMC depricated
22:26 dalek TT #1709: http://trac.parrot.org/parrot/ticket/1709
22:27 Coke msg cotto_work - if it's in the doc, it'll get done.
22:27 purl Message for cotto_work stored.
22:28 Coke Chandon: it's "deprecated"
22:28 theory joined #parrot
22:28 Coke also, deprecating something and not giving an upgrade path is not boss.
22:28 Chandon Sweet. I can totally spell.
22:28 Coke I think you're better off marking those PMCs experimental.
22:29 Coke which amounts to the same thing from your standpoint, but means we don't know how they will be shaped in the future.
22:29 Coke also, IWBNI they warned when instantiated, under "parrot -w".
22:30 darbelo Rule of thumb: Current code is deprecated, additions are experimental.
22:30 Coke darbelo: yes, but in this case, that's wrong. =-)
22:32 Chandon That makes sense, but it contradicts what the pod file says (experimental features have never shipped not-experimental).
22:32 darbelo Coke: Meh, fits my luck.
22:32 dalek parrot: r48137 | Chandon++ | trunk/DEPRECATED.pod:
22:32 dalek parrot: Threading and concurrency deprecations for gsoc_threads branch.
22:32 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48137/
22:33 gbacon joined #parrot
22:33 darbelo I thought it was: experimental features have never shipped not-experimental *in a supported release*
22:33 Chandon IWBNI?
22:33 purl hmmm... IWBNI is "it would be nice if"
22:33 darbelo Or, that's the approach I've taken in the past.
22:34 Chandon How do warnings work?
22:35 Coke Chandon, darbelo: fixing.
22:35 darbelo Chandon: Parrot_warn(interp, PARROT_WARNINGS_ALL_FLAG, "Waring text");
22:35 mikehh Coke: html_cleanup - apart from ch01_introduction.pod.html not getting generated in docs/html/docs/book/pct and some href diffs docs/html/book looks ok
22:35 nopaste "cotto" at 192.168.1.3 pasted "sha1 checksum addition to the release announcement" (15 lines) at http://nopaste.snit.ch/22179
22:36 darbelo I'm not so sure about the PARROT_WARNINGS_ALL_FLAG part.
22:36 cotto_work someone mind applying that before Coke starts following those instructions?
22:36 mikehh Coke the diffs in pir/chap04 are, I think, to changes in trunk
22:39 Coke mikehh: if you can remerge trunk to branch, that'd help.
22:40 mikehh Coke: will give it a try - now or after the release?
22:40 Coke Chandon: are you /sure/ you want this stuff marked as "going to change"?
22:40 Coke mikehh: now would be nice.
22:40 Coke you're basically saying "anything is better than this crap"
22:41 Chandon Coke: ParrotThread basically doesn't work. Task will change if my branch gets merged.
22:41 Coke Chandon: why did you call it "Task" and not "SpiffyTask" ?
22:42 Coke and "Doesn't work" == bug, not Deprecation.
22:42 Coke I would say, rename your Task PMC to something new, and when we have that, we'll mark /that/ as experimental.
22:43 Coke (or Then mark the old task as deprecated in favor of SpiffyTask
22:43 cotto_work "NotExtravagantlyBrokenTask"
22:43 Coke I am not a fan at all of "this will eventually change" deprecation notices. we can't have any more of those.
22:44 cotto_work +1 to what Coke said
22:45 darbelo Coke: I'm applying cotto_work's patch to the release manager's guide. +/-1?
22:45 Chandon I totally should have predicted this conversation and either prepared a better argument for stealing the word Task or did it earlier.
22:45 Chandon As far as I can tell, the current Task PMC probably doesn't do anything that anyone uses.
22:45 Coke you would have had to steal it before you joined the project.
22:46 Coke Chandon: ok. but if you don't have a ticket for "this is how the interface is changing", now is not the time to slip in a notice.
22:46 Coke wait until you know what the new interface looks like and then we can talk.
22:47 Coke Having a new name for Task in the meantime is a very simple way to avoid this whole issue.
22:47 Coke i'm going to close those tickets.
22:48 Chandon Coke: That puts off any merge of my project until October, which isn't necessarily wrong, but seems excessive for stuff that probably has never worked.
22:48 darbelo If it has never worked, then we don't need to deprecate it.
22:49 darbelo It's a bugfix.
22:49 Chandon darbelo: With a completely different interface.
22:49 Coke Chandon: it only puts off the merge of yoru project if you insist on using "Task"
22:49 Coke which you haven't finalized yet, right?
22:50 Chandon Coke: ParrotThread is not going to survive in my branch in any case. The current Task may not surivive either, from an API perspective.
22:50 darbelo seen plobsing?
22:50 Coke if you don't have the interface 100% /right now/, the deprecation is meaningless. (speaking in general terms, not for "stuff that probably has never worked".
22:50 purl plobsing was last seen on #parrot 5 days, 16 hours, 33 minutes and 44 seconds ago, saying: NotFound: good to see. still, reading/analysis feel a little underpowered.  [Jul 15 06:16:33 2010]
22:50 dalek parrot: r48138 | darbelo++ | trunk/docs/project/release_manager_guide.pod:
22:50 dalek parrot: Add a step for computing SHA1 sums to the Release Manager Guide.
22:50 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48138/
22:51 darbelo Crap. Forgot to mention cotto++ in the commit message
22:51 darbelo cotto++ # For good measure.
22:51 cotto_work OH NOES!
22:51 Coke $DINNERTIME
22:51 NotFound Can't you call it 'Tasklet' or something like that?
22:51 Coke I will nom before doing anything else with the tickets.
22:52 darbelo GreenTask :)
22:52 Chandon Coke: Your call. I'm not too worried about getting bumped to October - that'll probably be correct - just wanted to make other decisions possible if doing so would be reasonably straightforward.
22:56 Chandon Renaming my Task PMC seems like a really reasonable plan, except it seems a lot like the current Task PMC doesn't do anything except prevent me from using the standard jargon for the CS concept (per Intel TBB and friends).
22:56 cotto_work darbelo: thanks
23:15 dalek tracwiki: v3 | cotto++ | LoritoOps
23:15 dalek tracwiki: updates from #ps
23:15 dalek tracwiki: http://trac.parrot.org/parrot/wiki/​LoritoOps?version=3&amp;action=diff
23:15 Coke well, if you were starting from scratch, task might be a fine name. we just have to cope with the fact that there's prior art here, even if it doesn't meet our needs.
23:15 Coke accident of implementation.
23:15 Coke I'll be happy to work with you when it's time to merge back to avoid any deprecation issues.
23:15 Tene Just call it "Taaask"
23:16 Chandon Coke: The current Task PMC represents an Event. There's a wonderful API discussion to be had, not now. The only question is whether publishing a potentially incorrect Experimentalness is more annoying than constraining that discussion when we do have it.
23:17 cotto_work I think darbelo has provided us with an elegant solution.  Just call it Täsk.
23:17 dalek TT #1709 closed by coke++: Task PMC experimental
23:17 dalek TT #1709: http://trac.parrot.org/parrot/ticket/1709
23:17 Chandon cotto_work: Yes. That's obviously the correct solution. Best API ever.
23:18 cotto_work You're welcome.
23:18 dalek winxed: r568 | NotFound++ | trunk/winxedst1.winxed:
23:18 dalek winxed: delete some redundant checks
23:18 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=568
23:18 Coke we're not constraining the new discussion.
23:18 Coke by going with something-not-called-task, you're pretty much free to do the right thing.
23:19 Chandon Coke: Except the right thing is to rename the current Task to Event and probably drastically change its API.
23:19 Coke is that new Event not the Task you're working on in your branch?
23:19 Chandon I mean, the position I would be arguing in that discussion is that the right thing...
23:20 Coke is there an Event AND a Task?
23:20 Chandon My branch currently has Task *and* Event, where Event is what's called Task in trunk.
23:21 Coke Ok. so rename your other Task to <some appropriate name>, and everything is still incredibly kosher.
23:22 Chandon Except that then you have to say new 'Camel' to get a Goat, and if you say new 'Goat' you get a dog.
23:23 Coke Chandon: there is prior art here. I cannot make that go away.
23:23 Coke I am sure we can come up with a name that is very much like Task but isn't. If that's the hardest part of your project, I think you'll have done great. =-)
23:24 dalek parrot: r48139 | mikehh++ | failed to fetch changeset:
23:24 dalek parrot: merge html_cleanup branch with trunk
23:24 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48139/
23:24 Chandon So you're saying that API changes can't happen?
23:24 dalek parrot: r48140 | coke++ | trunk/DEPRECATED.pod:
23:24 dalek parrot: Remove these 2 notices;
23:24 dalek parrot: Once this branch is ready to land, we'll find a way to have both the old
23:24 dalek parrot: system and new in place simultaneously to allow anyone to cut over through
23:24 dalek parrot: a supported release, then remove the old versions.
23:24 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48140/
23:24 Coke Chandon: we really need to have /both/ APIs in place simultaneously to allow cutovers.
23:25 Coke otherwise there is NO easy upgrade path.
23:25 Coke here's the process:
23:25 Coke 1) add glorious new API
23:25 Coke 2) deprecate old crappy API.
23:25 Coke (that happens at a supported release).
23:26 Coke 3) with that deprecation, publish notes on how to use the new API.
23:26 Coke immediately after the release, rip out the old API.
23:26 Coke by the time the /next/ supported release hits, it will contain only the new API.
23:27 Coke but people using parrot in the meantime have an upgrade path that doesn't involve "oh, crap, I only upgraded one supported release and now my code doesn't work."
23:27 Coke If this API involves new methods on Task? that's fine. as long as people can continue to use it the old way as well.
23:28 whiteknight Coke: nobody uses the "old crappy API" because it's fundamentally broken and doesn't work
23:28 Coke if you are making Task.foo() now do something else entirely, that's a problem, yes.
23:28 Coke whiteknight: Yes, well, we should have thought of that before releasing it.
23:28 Chandon There is no one using ParrotThread who has working code. It is possible that someone uses Task, but I'd happily bet $100 that no-one in the world relys on it it because it doesn't really do anything useful.
23:29 Coke There is a very simple, easy, workable way to get the new functionality in.
23:30 Chandon The only reason I'm arguing this point at all is this: In order for the "old" functionality to be included in 2.9 non-trivially, I'd have to write it. I'd rather not do that.
23:30 whiteknight Coke: we didn't "release" it in any real sense. The code was there, broken, before our deprecation policy was enacted
23:31 whiteknight nobody fixed it or used it since. There's no expectation that it's usable
23:31 Coke Chandon: the old functionality is "what's out there right now" - I'm not suggesting anyone write any more code for current Task or ParrotThread than what's in trunk right nwo.
23:31 Coke whiteknight: Be that as it may, how does doing it the right way going forward hurt anyone?
23:32 * Coke is rapidly losing steam for doing the release. whee.
23:33 NotFound Adding a deprecation notice the day of the release is not nice, at least.
23:33 Tene Coke: the objection is that the cost is either: 1) have incorrect names in the API for the rest of the releases, or 2) have a name-changing deprecation cycle on the next supported release right after adding the new, working functionality.
23:34 Coke Which is so trivial i cannot believe people are complaining about it.
23:34 Chandon Coke: Just go ahead and do the release without the notices. I honestly should have started this discussion a week ago if I wanted it to go in.
23:35 NotFound If the point is that the code is completely broken and changing it will not harm anyone and thus don't need a deprecation notice, there is no point to add the deprecation notice.
23:35 Coke Chandon: who is your mentor?
23:35 dalek TT #1708 closed by coke++: ParrotThread PMC experimental
23:35 dalek TT #1708: http://trac.parrot.org/parrot/ticket/1708
23:36 Chandon Coke: whiteknight
23:36 purl whiteknight is mailto:wknight8111@gmail.com or the grand master funk or http://wknight8111.blogspot.com/
23:36 Coke NotFound: no point, perhaps. but given that it's trivial to do it "right", I don't see why not to.
23:37 NotFound Coke: it we do it "right", no deprecation notice required, isn't it?
23:38 NotFound No urgent need for it, I mean.
23:38 Coke no, if we /did/ it right. That ship has sailed.
23:38 Coke we are now living in an imperfect repository.
23:38 cotto_work Coke, no wai
23:39 * mikehh a perfect parrot - whee
23:39 cotto_work "perfect" is the name for the 6.0 release.
23:40 Coke I think I'm going to declare 'make html' bust for this release.
23:40 Coke (at least, my rewrite of it.)
23:40 NotFound Coke: my point is: if we use a new name, there is no urgency for a deprecation notice now, it can be done later.
23:42 whiteknight So what's the complaint? can we not put in a deprecation notice for Tasks/Threads?
23:42 NotFound And if they want to keep discusing the issue and convince enough people that the old name can be reused without deprecation, there is no need for a deprecation notice.
23:43 NotFound So, in any case there is no urgent need for the notice.
23:43 darbelo http://www.synonyms.net/synonym/task
23:43 * darbelo wants a "chore" PMC
23:44 Tene whiteknight: Coke's assertion is that we need to have both systems included in the same supported release, so that people have a supported release to migrate from the old to the new, and you can't have both in a supported release if they're the same name.
23:44 NotFound whiteknight: deprecating a subsystem a few minutes before a release looks ugly to me.
23:44 whiteknight so that's an argument about ever improving any subsystem in-place
23:44 whiteknight s/about/against/
23:45 darbelo It's not improved in place, it's getting ripped out and replaced with an incompatible alternative.
23:46 darbelo I'll give you improvement, but not in-place.
23:46 Tene darbelo: The current code does not work for anything.  It's broken and not useful.
23:46 darbelo Tene: Sure. That's why amputation is an improvement.
23:46 whiteknight darbelo: in this case yes, it's a straight replacement
23:47 Coke here's the thing: Chandon had it exactly right; this discussion should have happened at LEAST a week ago.
23:47 darbelo That too.
23:47 whiteknight but in the larger sense, we lose a lot of ability to make improvements because we can't simulaneously have both the old and the new systems after a refactor/improvement
23:47 Coke I would argue my position the same way even if we had a month to go, though.
23:47 Coke whiteknight: of course you can have both systems in place at the same time.
23:48 Coke you just can't give them both exactly the same name.
23:48 whiteknight Coke: bologna
23:48 Coke if they have completely different behavior. (Not: "fixed" behavior vs. "broken" behavior)
23:48 whiteknight in the strict case of threading yes, you probably can (though it would be a huge waste). In other cases which are easy to imagine, impossible
23:49 Coke but in any case, deprecation notices of "this thing will change in random ways in the future" that are not "experimental" should be disallowed.
23:49 darbelo If I read the situation correctly, Chandon's branch does for threads what bacek did to strings. Gut them and replace them with something better.
23:49 Coke even if there is no way to have both in place simultaneously.
23:50 Tene "The current Task is deprecated and will be removed." is fine, though.
23:50 whiteknight Coke: there's no "random" ways about it. Chandon has a well-documented and public plan for his changes
23:50 Coke whiteknight: really? I haven't seen it mentioned once in this discussion.
23:50 whiteknight and even if we don't replace it, current Tasks and Threads should be deprecated and removed no matter what
23:50 Tene "Removed or replaced with a functional reimplementation" might be better.
23:50 whiteknight Coke: his GSoC proposal, and weekly blog series
23:50 Coke whiteknight: too bad that won't happen until 2.9
23:51 whiteknight That's fine, so long as it happens
23:51 Coke -> afk to work on the release.
23:52 whiteknight I find it particularly unsettling that the deprecation policy can be used to both provide no protection for users against highly disruptive changes (i.e. the opcode deprecations) and at the same time prevents us from removing "features" which are completely broken and unused
23:52 bubaflub joined #parrot
23:52 Coke whiteknight: the opcode stuff should not have gone in that way, either.
23:53 Coke Nothing is preventing you from removing this broken crap.
23:53 Coke just not. right. now.
23:53 whiteknight Coke: should not, maybe. But at the time it was a perfectly valid interpretation of the policy
23:53 whiteknight and swinging the pendulum all the way to the other side and preventing the removal of garbage is just as bad
23:54 Coke whiteknight: ok. really leaving now, because this conversation is seriously impairing my ability to get the release out the door.
23:54 whiteknight ok
23:54 Coke left #parrot
23:56 * whiteknight absolutely hates the deprecation policy
23:56 whiteknight as if I don't say that enough
23:56 Psyche^ joined #parrot
23:58 Tene whiteknight: +1
23:58 purl 1
23:58 Tene purl: I wasn't talking to you
23:58 purl Tene: excuse me?
23:58 darbelo whiteknight: I'm generally on your side of the policy hating thing, but I do have to agree with Coke that 'a few hours before a release' falls short of sufficient advance notice.
23:58 Coke joined #parrot
23:58 Coke trac picked a great time to go out into the weeds.
23:59 whiteknight Coke: up for me. What's wrong?

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

Parrot | source cross referenced