Parrot 2.5.0 Released! | parrot.org | Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | Priorities: review experimental features for promotion or removal, fix 'make html' (talk to Coke), update tutorial (talk to tcurtis), pre-release testing.
Set by moderator on 13 July 2010.
dalek tracwiki: v18 | cotto++ | LoritoRoadmap 00:02
tracwiki: trac.parrot.org/parrot/wiki/LoritoR...ction=diff
kudo: f49e91b | jonathan++ | src/core/Mu.pm:
.can helper is only defined on Any, not Mu. Last bug I fixed masked this issue
00:10
kudo: 1231260 | jonathan++ | src/glue/subset.pm:
Need to attach the originally refined type to the subtype so the signature

awesome error and probably much more.
kudo: 3139735 | jonathan++ | src/builtins/Num.pir:
Toss Int ~~ Num hack; from now on, use Int ~~ Numeric. Good to excise this one
00:16
kudo: ee1b11b | jonathan++ | src/Perl6/Grammar.pm:
Port over a couple more errors from STD - mostly copy/paste/test.
whiteknight Who is release manager for 2.6? 00:36
cotto_work coke 00:37
whiteknight ah yes, I just found that
thanks cotto_work
mikehh japhb: ping 00:40
boo 00:41
dalek uaak-tutorial: be8a75b | tcurtis++ | doc/tutorial_episode_3.pod:
Add note to briefly explain OPP, terms, protos in Ep. 3.
mikehh bah - who else handles plumage 00:42
tcurtis mikehh: Tene, darbelo, dukeleto, pmichaud, whiteknight, and particle appear to have commit bits to it (according to gitorious.org/parrot-plumage/parrot-plumage ). 00:44
00:44 japhb joined
japhb mikehh, pong 00:44
(sorry for the delay, when you pinged my IRC client went crashy-crash-crash-crash)
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:45
trac.parrot.org/parrot/wiki/LoritoOps 00:46
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
japhb mikehh, checking ...
mikehh japhb: eg nqp-rx, lua, etc 00:48
japhb Huh. I thought that bug was fixed long ago. 00:49
Hmmm.
tcurtis cotto_work: It seems like there will need to also be ops for parameter passing.
mikehh japhb: actually lua worked but it sent to smolder
japhb Does NQP-rx have list assignment yet?
tcurtis japhb: Does NQP-rx have assignment yet? 00:50
jnthn I'm not sure NQP-rx will ever have assignment.
japhb Bah.
jnthn (It's a deliberate design choice that it's not there, not just a not-yet-implemented, as far as I know.)
japhb OK, what's the current cleanest way to say: "Copy the contents of this arrayref into this other new arrayref"? 00:51
Here's the code I want to copy:
143 # Smoke test requires same prereq path as regular test
144 %STAGES<smoke> := %STAGES<test>;
145 %STAGES<smoke>[-1] := 'smoke';
Except not broken. 00:52
:-)
dalek tracwiki: v1 | cotto++ | LoritoOps
tracwiki: initial version based on the parrot-dev thread plus some random junk I thought would be nice
tcurtis japhb: pir::clone__PP(@foo); is probably your only option.
dalek tracwiki: trac.parrot.org/parrot/wiki/LoritoO...ction=diff
cotto_work trolls
tcurtis s/only/best
japhb tcurtis, so change that line 144 to: %STAGES<smoke> := pir::clone_PP(%STAGES<test>); 00:53
?
tcurtis japhb: right.
japhb OK, thx
mikehh, I'll have your fix in in a few minutes.
Have to do something AFK for a couple first.
jnthn japhb: Yes, clone was what I was going to suggest too 00:54
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.
mikehh japhb: great - so far tested pirate, lua, nqp-rx (which doesn't test), same for winxed
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.
cotto_work Part of the plan for Lorito is to unify VTABLE functions and METHODs. 00:58
Figuring out what the path should look like in Lorito would be helpful.
A LoritoCallingConventions wiki page might be in order. 01:00
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:01
cotto_work tcurtis, please add any ops you have in mind to the wiki page and remove any that are made redundant. 01:05
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
it'd be a shame to ship 2.6 with a lta tutorial 01:07
01:20 leprevost joined
japhb mikehh, tcurtis, jnthn: Plumage fix pushed, thank you. 01:23
mikehh cotto_work: you got - isgt_[in] - a >= b and isge_[in] - a > b in LoritoOps 01:25
japhb: checking
01:26 payload1 joined
cotto_work mikehh, no I didn't. ;) 01:26
dalek rrot-plumage: d5ee97f | japhb++ | src/lib/Plumage/Project.nqp:
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
mikehh japhb: ok that seems to work - at least for winxed and nqp-rx anyway :-}
japhb :-)
cotto_work nqp makes those brainos too easy. 01:31
dalek rrot: r48117 | Chandon++ | branches/gsoc_threads (13 files):
[gsoc_threads] First half of the Task API.
cotto_work I've become accustomed to adding + or ~ to values to ensure that I get a copy instead of the original pmc.
dalek tracwiki: v2 | cotto++ | LoritoOps 01:42
tracwiki: d'oh. mikehh++ for noticing
tracwiki: trac.parrot.org/parrot/wiki/LoritoO...ction=diff
rrot: r48118 | Chandon++ | failed to fetch changeset:
[gsoc_threads] Merge from trunk.
01:48
01:52 GodFather joined
dalek kudo: cf3da00 | jonathan++ | src/Perl6/ (2 files):
NYI notes for constant, state and macro. Hopefully we get to at least state by
01:56
cotto ~~ 02:07
atrodo This weekend had a disappointing amount of coding take place 02:19
cotto atrodo, no worries. That seems to be the order of the day. 02:20
atrodo Yea, seemed so it seems
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:21
02:26 payload joined 02:35 janus joined
dalek rrot: r48119 | cotto++ | branches/gsoc_instrument/t/library/instrument_eventlibrary.t:
update test plan
02:55
03:07 plobsing joined
dalek uaak-tutorial: fe9ecdd | tcurtis++ | doc/tutorial_episode_7.pod:
Start transitioning from PGE optable to HLL::Grammar O in Ep 7.
03:10
uaak-tutorial: fae64bd | tcurtis++ | doc/tutorial_episode_7.pod:
Further updates to Ep. 7.
khairul cotto: ping 03:13
cotto khairul, pong 03:17
03:26 ruoso joined
dalek uaak-tutorial: efd8502 | tcurtis++ | doc/tutorial_episode_7.pod:
Add .O versions of ops.
03:34
uaak-tutorial: 78b440b | tcurtis++ | doc/tutorial_episode_7.pod:
:pasttype<if> in Ep 7.
uaak-tutorial: 9d5c639 | tcurtis++ | doc/tutorial_episode_7.pod:
Make relational left-associative.
03:39 LoganLK joined, brianherman joined
brianherman hello 03:39
i tried to compile parrot on mac os x 03:40
dalek tracwiki: v7 | cotto++ | KhairulGSOC2010Schedule
tracwiki: trac.parrot.org/parrot/wiki/Khairul...ction=diff
brianherman and i get this error auto:va_step auto::va_ptr died during execution: Unknown va_ptr type at config/auto/va_ptr
Chandon brianherman: What compiler are you using? 03:42
brianherman gcc 03:43
i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5664)
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:46
brianherman oh well 03:47
it builds on linux
so
meh
03:47 darbelo joined
brianherman i would like it to build on mac os x 03:47
but
darbelo People have built parrot on OS X before. 03:48
brianherman is there like a library for auto:va_ptr
or something?
purl something is really wrong out there :)
darbelo va_ptr is supposed to be autodetected by a configure time probe.
Is there any output after the failure for you? 03:49
brianherman the configure fails 03:52
paste.pocoo.org/show/239599/ 03:53
That is the output.
tcurtis brianherman: what version of OS X do you have? 03:56
brianherman snow leopard
purl hmmm... snow leopard is going to make us all buttpirates though just because of the name or gunshowcomic.com/d/20090930.html
darbelo You aren't on a ppc box, right? 03:57
tcurtis purl: forget snow leopard
purl tcurtis: I forgot snow leopard
brianherman nope intel mac c2d
penryn
tcurtis ash_: you around? You have OS X Snow Leopard, right? 03:58
ash_ yea i do 03:59
brianherman ash_: do you have this problem?
ash_ one sec, let me read what you were talking about :P 04:00
umm 04:01
what is your path? echo $PATH brianherman
dalek rrot: r48120 | pmichaud++ | trunk/ext/nqp-rx/src/stage0 (3 files):
[nqp-rx]: Update nqp-rx with named_assertion refactor.
brianherman ping 04:02
i have active perl installed
could that screw things up
ash_ ya, sounds like it
do /usr/bin/perl Configure
.pl
brianherman oh 04:04
thanks guys!
dalek p-rx: b09bf8d | pmichaud++ | src/Regex/P6Regex/Actions.pm:
Refactor named_assertion method a bit.
p-rx: f7e92b4 | pmichaud++ | src/stage0/ (3 files):
Update bootstrap.
04:05 TiMBuS joined
brianherman oh no i got a segmentation fault 04:07
i think im just gonna use linux
is that a bug 04:08
or something?
purl i guess something is really wrong out there :)
tcurtis brianherman: most likely. When did you get the segfault? 04:10
brianherman one sec
make: *** [runtime/parrot/include/config.fpmc] Error 139
Command failed (status 512): make install-dev
./miniparrot -Iruntime/parrot/include config_lib.pir > runtime/parrot/include/config.fpmc
04:11 bacek_mobile joined
darbelo Ouch. 04:11
bacek_mobile Aloha, humans
brianherman hi baeck
tcurtis bacek_mobile: Hi.
bacek_mobile I'll miss tomorrow ps meeting. It's way too early in Singapore... 04:12
hi tcurtis
sorear bacekmobile? is that like a batmobile? 04:13
bacek_mobile sorear, even better. Im kind of transformer ;)
brianherman heh transformer 04:20
they are shooting transformer 3 in chicago
i almost went to see the set
but
i got lazy
dalek uaak-tutorial: 8a84280 | tcurtis++ | doc/tutorial_episode_7.pod:
Add TODO.
04:21
uaak-tutorial: 97252df | tcurtis++ | doc/tutorial_episode_7.pod:
Update infix:sym<+> example in Ep 7.
uaak-tutorial: 9671c8a | tcurtis++ | doc/tutorial_episode_7.pod:
This tutorial is so old that trinary add didn't exist.
tcurtis brianherman: Would you mind submitting a ticket at trac.parrot.org/parrot/newticket for that segfault? 04:23
brianherman oh i did 04:24
i just finished
good night
tcurtis That does not look like a segfault... 04:29
nevermind 04:30
yes, it does.
purl if you say so...
04:33 theory joined 04:39 somebody_ joined
dalek TT #1706 created by brianherman++: Parrot 04:39
TT #1706: trac.parrot.org/parrot/ticket/1706
04:41 somebody__ joined
dalek uaak-tutorial: 736e984 | tcurtis++ | doc/tutorial_episode_7.pod:
Fix grammar in Ep7.
04:45
uaak-tutorial: c94d857 | tcurtis++ | doc/tutorial_episode_7.pod:
Ep7: circumfix:sym<( )>
04:51
uaak-tutorial: 8f2be17 | tcurtis++ | doc/tutorial_episode_7.pod:
Update explanatory text for circumfix:sym<( )>.
04:57
uaak-tutorial: 9adba53 | tcurtis++ | doc/tutorial_episode_7.pod:
Ep 7: we get to inherit the action method for EXPR.
05:02
05:04 snarkyboojum joined
dalek uaak-tutorial: 671cce8 | tcurtis++ | doc/tutorial_episode_7.pod:
Ep 7: mention that circumfix:sym<( )> is auto-generated.
05:08
uaak-tutorial: 9f9b948 | tcurtis++ | src/Squaak/Actions.pm:
Bring back the circumfix:sym<( )> actions.
uaak-tutorial: 830e749 | tcurtis++ | src/Squaak/Grammar.pm:
Add precedence levels.
05:32
uaak-tutorial: 88d09a4 | tcurtis++ | src/Squaak/Grammar.pm:
Add logical ops.
uaak-tutorial: 40c0f44 | tcurtis++ | src/Squaak/Grammar.pm:
Move logical ops to the end.
uaak-tutorial: 40ed067 | tcurtis++ | src/Squaak/Grammar.pm:
Add infix:symļæ½<ļæ½.
uaak-tutorial: 3a07019 | tcurtis++ | src/Squaak/Grammar.pm:
Add prefixes.
uaak-tutorial: 117541a | tcurtis++ | src/Squaak/Actions.pm:
Generate real PAST::Val nodes for literals.
uaak-tutorial: 24a7ac1 | tcurtis++ | doc/tutorial_episode_3.pod:
Ep3: add action methods for int and str constants.
05:38
tcurtis YAY! I'm done with Ep7 for the moment at least! 05:55
cotto dances and squawks in honor of tcurtis
dalek uaak-tutorial: d729136 | tcurtis++ | doc/tutorial_episode_7.pod:
Ep7: Add hint to first exercise.
uaak-tutorial: 54a3e7e | tcurtis++ | doc/tutorial_episode_7.pod:
Ep7: exercise 2 done.
uaak-tutorial: 9a5b022 | tcurtis++ | doc/tutorial_episode_7.pod:
Ep7: Fix mistake in infix:symļæ½<ļæ½.
tcurtis cotto: Now just episode 8, fixing up some TODOs throughout it, and putting it in svn. :) 05:56
cotto what time is it for you? 05:58
purl cotto: It's nearly six o'clock in the morning where I am.
cotto purl, go away
purl No, YOU go away, bud.
tcurtis cotto: 1 AM.
dalek uaak-tutorial: 1a6dcfc | tcurtis++ | doc/tutorial_episode_3.pod:
Ep3: remove variables won't be saved between lines of REPL bit, since it's not
06:01
uaak-tutorial: b7c5ece | tcurtis++ | src/Squaak/ (2 files):
Update example compiler with exercises from Ep7.
cotto any big plans for tomorrow or are you planning on waking up around 1:30 after a long night of tutorial hacking? 06:04
dalek uaak-tutorial: 7a71781 | tcurtis++ | doc/tutorial_episode_8.pod:
Ep 8, [',' ...]* -> ** ','.
06:07
uaak-tutorial: 89d5cb3 | tcurtis++ | doc/tutorial_episode_8.pod:
Ep8: hash constructor can use **, too.
uaak-tutorial: df5feb7 | tcurtis++ | doc/tutorial_episode_8.pod:
Remove superfluous {*}.
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
cotto Mmmm. HN. 06:08
Oh noes. The robots have phones now. 06:09
I guess "Android" would be an appropriate choice.
bacek_mobile Bah :) 06:11
Im just waiting for next meeting
Using my Android phone ;)
tcurtis was about to ask. 06:12
06:12 uniejo joined
bacek_mobile tcurtis, Galaxy S 06:12
06:14 cognominal joined 06:23 uniejo joined
dalek uaak-tutorial: 30b5123 | tcurtis++ | doc/tutorial_episode_8.pod:
More superfluous {*}.
06:24
uaak-tutorial: 64df55f | tcurtis++ | doc/tutorial_episode_8.pod:
Ep8: postfix_expression is now a proto.
uaak-tutorial: 05c7841 | tcurtis++ | doc/tutorial_episode_8.pod:
Ep8: action method for postcircumfix:<[ ]>.
06:30
uaak-tutorial: 303e5a4 | tcurtis++ | doc/tutorial_episode_8.pod:
Ep8: explain action method for postcircumfix:<[ ]>.
uaak-tutorial: d4012b3 | tcurtis++ | doc/tutorial_episode_8.pod:
Ep8: $(...) -> .ast.
uaak-tutorial: 6172b42 | tcurtis++ | src/Squaak/ (2 files):
Compiler: bring up to date with indexed access.
tcurtis Anyone not busy and want to read over what I've done so far and make sure it makes sense? 06:51
06:52 jsut joined
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:53
moritz tcurtis: no, there is not 06:54
tcurtis: if you want that, make a separate rule string_constant 06:55
and have term:sym<string_contstant> { <string_constant> }
cotto Shouldn't ep 1 advocate building squaak in an external dir rather than languages/ ? 07:00
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:01
tcurtis cotto: Sounds good to me. Feel free to change it. ;) 07:02
cotto I have a commit bit and I'm not afraid to use it. 07:03
07:06 fperrad joined 07:21 dalek joined
cotto fperrad, could you make distutils to generate a fakecutable named "foo" in addition to "installable_foo" as part of the build process? 07:22
07:23 baest joined
dalek uaak-tutorial: c801edc | tcurtis++ | doc/tutorial_episode_8.pod:
Ep8: rewrite array/hash constructors in NQP.
07:35
uaak-tutorial: 7ef8807 | tcurtis++ | src/Squaak/Runtime.pm:
Runtime.pm: add array/hash constructors.
uaak-tutorial: 660ddd0 | tcurtis++ | doc/tutorial_episode_8.pod:
Ep8: I don't think PMC stands for that anymore.
uaak-tutorial: 390e429 | tcurtis++ | doc/tutorial_episode_8.pod:
Ep8: Exercise 1, hashtable keyed access.
uaak-tutorial: 09bcd0d | tcurtis++ | src/Squaak/Actions.pm:
Actions.pm: hash keyed access.
uaak-tutorial: 0625661 | tcurtis++ | doc/tutorial_episode_8.pod:
Ep8: partially update exercise 2 solution.
uaak-tutorial: 718f48d | tcurtis++ | doc/tutorial_episode_8.pod:
Ep8: expression -> EXPR.
uaak-tutorial: e979de7 | tcurtis++ | doc/tutorial_episode_8.pod:
Ep8: array_constructor -> circumfix:sym<[ ]>, similarly for hash_constructor.
uaak-tutorial: 7e86e34 | tcurtis++ | doc/tutorial_episode_8.pod:
Ep8: add remark about renaming term:sym<string_constant>.
uaak-tutorial: e902801 | tcurtis++ | doc/tutorial_episode_8.pod:
Ep8: fix some silly mistakes.
uaak-tutorial: 6a6f75b | tcurtis++ | doc/tutorial_episode_8.pod:
Ep8: fix lack of sym typo.
uaak-tutorial: d4b979f | tcurtis++ | src/Squaak/ (2 files):
Compiler: Get hash/array constructors working.
uaak-tutorial: ff85503 | tcurtis++ | src/Squaak/Runtime.pm:
Runtime.pm: fix register number bug.
uaak-tutorial: 4f03fca | tcurtis++ | (2 files):
Add support for empty array/hash literals.
uaak-tutorial: f2b9179 | tcurtis++ | doc/tutorial_episode_8.pod:
Ep8: update solution for Exercise 3.
uaak-tutorial: b59e109 | tcurtis++ | src/Squaak/ (2 files):
Compiler: implement dotty hash access.
07:38 Casan joined
cotto Hmmm. Did that last commit dtrt or did I mess up? 07:40
dalek uaak-tutorial: 08df4a1 | cotto++ | doc/tutorial_episode_1.pod:
recommend out-of-svn build and add more F<> tags
07:41
uaak-tutorial: 3def2bc | cotto++ | doc/tutorial_episode_2.pod:
various English and POD improvements and fixes
uaak-tutorial: 23c614c | cotto++ | (4 files):
Merge branch 'master' of github.com:ekiru/squaak-tutorial
cotto time for sleep 07:43
tcurtis Good night, cotto. Thanks for the English-fixing. :)
cotto I fixes what I knows. 07:44
tcurtis cotto: I'm about to have the life demo running. :)
YAY! Updated Squaak tutorial Squaak successfully runs the life demo. :) 07:45
moritz tcurtis++ 07:46
cotto tcurtis++
dalek uaak-tutorial: 9a16402 | tcurtis++ | doc/tutorial_episode_3.pod:
Ep3: make primary a term.
uaak-tutorial: f12bbc6 | tcurtis++ | src/Squaak/ (2 files):
Compiler: make primary a term.
cotto The tutorial lies. Implementing squaak is not trivial.
dalek uaak-tutorial: a8bc377 | tcurtis++ | (2 files):
Fix double PAST::Valing of strings.
uaak-tutorial: dbc8bbb | tcurtis++ | src/Squaak/Grammar.pm:
Make relational ops work.
uaak-tutorial: 333026a | tcurtis++ | doc/tutorial_episode_ (2 files):
Merge branch 'master' of github.com:ekiru/squaak-tutorial
uaak-tutorial: 5fc0d2e | tcurtis++ | doc/tutorial_episode_7.pod:
Ep7: fix relational ops.
07:52
uaak-tutorial: e7a406f | tcurtis++ | (2 files):
Make throw at least partially work.
07:58
uaak-tutorial: dd87c69 | tcurtis++ | doc/tutorial_episode_4.pod:
Ep4: Improve prose.
uaak-tutorial: dff7114 | tcurtis++ | doc/tutorial_episode_7.pod:
Finish up another TODO.
uaak-tutorial: db5bd8e | tcurtis++ | doc/tutorial_episode_3.pod:
Ep3: briefly mention EXPR.
08:04
fperrad msg cotto 08:06
purl Sorry, I've never seen cott before.
fperrad $P1['parrot-foo'] = 'foo.pbc'
$P0['installable_pbc'] = $P1 # build installable_foo in built tree, and install it as parrot-foo
$P0['exe_pbc'] = $P1 # build foo fakexecutable in built tree
cotto wfm 08:20
cotto really goes to bed
dalek uaak-tutorial: b56767a | cotto++ | doc/tutorial_episode_3.pod:
proofread the first half of ep 3, add a link to moritz++'s blog post on rules,
08:22
rrot: r48121 | tcurtis++ | trunk/examples/languages/squaak (20 files):
Updated Squaak tutorial. See ļæ½github.com/ekiru/squaak-tutorial for history.
08:41
rrot: r48122 | tcurtis++ | trunk/MANIFEST:
Regen manifest.
08:52 AndChat| joined 08:58 AndyA joined
tcurtis -> sleep, finally. 09:04
09:13 gaz joined
dalek rrot: r48123 | tcurtis++ | trunk/examples/languages/squaak (14 files):
Satisfy codetest.
09:15
09:31 snarkyboojum joined 12:18 lucian joined, kid51 joined 12:22 bluescreen joined
dalek kudo: 3370f07 | moritz++ | docs/ChangeLog:
update ChnageLog
12:24
12:43 whiteknight joined
whiteknight good morning, #parrot 12:44
Coke hola 13:02
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
ah well.
atrodo Morning! 13:14
purl Mornings are great. Every time you experience morning, you're not dead yet!
atrodo Coke> How close are you?
Coke atrodo: welp, trac.parrot.org/parrot/wiki/CleanupMakeHtml ; and once I write more code, the "only in" is going to expand to an actual diff. =-) 13:15
13:16 cognominal joined
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:17
atrodo ugh, if I didn't have $DAYJOB, or it was something I could do quickly, i'd help 13:19
13:20 macroron joined
Coke no worries. I have all evening to hack on it, I should be able to get close. 13:21
dalek rrot: r48124 | coke++ | trunk/lib/Parrot/Docs/HTMLPage.pm:
update copyright year in generated docs.
13:23
Coke there's another 900 lines or so cleared up. 13:26
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
Coke ah, here's some LHF - re-merge trunk into the html_cleanup branch. 13:31
13:38 AzureStone joined
dalek tracwiki: v7 | coke++ | CleanupMakeHtml 13:43
tracwiki: fixed the copyright date in trunk.
tracwiki: trac.parrot.org/parrot/wiki/Cleanup...ction=diff
13:49 fperrad joined
atrodo Coke> So the idea is to get the diff to only report changes that are in the OK category? 13:54
Coke yes. I want to make sure that I'm duplicating existing functionality before ripping stuff out. 13:55
and or bugfixin.
(the old way of invoking pod2html was very... convoluted)
new way is hopefully clearer.
14:07 bubaflub joined 14:09 gbacon joined 14:10 plobsing joined 14:44 bkuhn joined 14:54 tcurtis joined 15:09 khairul joined 15:11 snarkyboojum joined 15:20 davidfetter joined 15:21 TiMBuS joined 15:30 mmcleric joined
lucian this might be interesting to some morepypy.blogspot.com/2010/07/compa...-pypy.html 15:40
cotto_work ~~ 15:44
I' 15:45
m always up for a littly PyPy in the morning.
atrodo Who wouldn't want PyPy in the morning?
cotto_work . o 0 (What do you do with a drunken python?) 15:47
atrodo Anything it wants to?
Hey cotto_work, I had a few questions about the new LoritoOps page, if you have a chance 15:55
cotto_work I have a chance. 15:57
Much of what's there hasn't had a chance for discussion.
15:57 mmcleric joined
cotto_work I started that page more as a way to kickstart discussion than to dictate what the ops would be. 15:58
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 ;)
atrodo What do you think about using load/store instead of getattr/setattr ? To more align with existing nomenclature?
atrodo loves every chance he gets to use the word "nomenclature" 16:00
cotto_work How so? 16:01
jnthn bind_attr would be much clearer about what it akshually does.
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
jnthn That's what I'm leaning towards call the operation in the Rakudo representation API, anyways. 16:02
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.
atrodo so we wouldn't be addressing attr's by name then? 16:04
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:07
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
16:09 rblasch joined
atrodo A simple pmc method could handle that? 16:10
tcurtis atrodo: but how do we implement the pmc methods?
atrodo tcurtis> I don't quite understand the question 16:12
16:17 theory joined 16:21 chromatic joined
dalek rrot: r48125 | tcurtis++ | trunk/examples/languages/squaak/src/Squaak/Actions.pm:
Fix a bug in hash indexing.
16:25
cotto_work tcurtis, why the null? 16:32
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:35
tcurtis afk 16:36
16:37 kthakore joined
dalek rrot: r48126 | tcurtis++ | trunk/examples/languages/squaak/src/Squaak/Runtime.pm:
Delete say function and implement the correct print function.
16:42
rrot: r48127 | coke++ | branches/html_cleanup/lib/Parrot/Docs/PodToHtml.pm:
Get basic breadcrumb working again. (only has "Home", nothing else)
ash_ in nqp is there an equivalent of 'BUILD' ? 16:52
jnthn ash_: Not yet. 16:53
ash_ is there anyway to initialize variables? 16:54
16:56 mmcleric_ joined, mmcleric joined
dalek rrot: r48128 | coke++ | branches/html_cleanup (2 files):
track breadcrumbs for non-trivial case
16:58
Coke there. knocked another kilo-lines of diff off the branch. 16:59
(down to 2043 lines of diff)
dalek tracwiki: v8 | coke++ | CleanupMakeHtml 17:03
tracwiki: mostly fixed breadcrumbs.
tracwiki: trac.parrot.org/parrot/wiki/Cleanup...ction=diff
17:03 bubaflub joined
tcurtis ash_: You can override new. 17:05
cotto_work khairul found an interesting hack to make that work (fsvo) with P6object 17:08
see the method new in trac.parrot.org/parrot/browser/bran...t/Base.nqp 17:10
jnthn A quicker hack is pir::new__pp(pir::typeof_pp(self)) 17:13
er, __
ash_ i made a method (init) that calls .new and calls BUILD 17:17
so if build does get added later, i won't have to change much 17:18
jnthn ash_: +1. And it's quite feasible BUILD may get added later 17:19
chromatic Parrot had BUILD ages and ages ago.
ash_ nqp might need to peek into what parrot's doing :P
chromatic ... not that you'd want to use that object system now.
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.
ash_: It'd be the ideal that they have some commonalities at the base.
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.
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:22
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.
I'm not sure where to put compose.
add/remove parent
*mumble* introspection
jnthn chromatic: *nod*
chromatic ... and that's about it.
Parrot itself needs a way to register a metaclass with an HLL. 17:24
ash_ aren't you working on a dynamic vtable too?
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"
chromatic I think we can get away without dynamic vtables for the new MOP.
jnthn chromatic: I've started writing some stuff up and I'll get it blogged over the coming week or two. 17:25
*written up
ash_ wouldn't a dynamic vtable give you a speedup though?
chromatic Sounds good, jnthn.
I think Parrot can provide the foundation for almost everything Rakudo needs simply.
Where the Perl 6 semantics aren't exactly right for Parrot, you apply a different role to your metaclass.
jnthn chromatic: Well, for Perl 6 there's two APIs in a sense. 17:26
chromatic bless and not-bless?
jnthn chromatic: A representation API and a meta-package one.
As I see it, attribute storage is owned by the representation API, and dispatch is owned by the meta-package one.
The meta-package knows about attributes that are available. 17:27
But it's up to the representation to decide how that maps to a storage stratergy.
chromatic Seems like dispatch has to delegate to representation to *find* attributes and methods.
jnthn And thus attribute lookup is a (possibly inlined where possible) operation conducted through the representation. 17:28
Yes, since a meta-object is just an object.
Closing the loop at the bottom is where the fun is. :-)
Or the top, depending on how you look at it.
chromatic I wrote a self-hosting garbage collector once. I'm not afraid.
jnthn :-)
Coke no, afraid is definitely the wrong word. :P
purl okay, Coke.
chromatic How much of this can we solve by inventing HasAttributes and CanDispatch roles? 17:29
Those names are hirsute yaks.
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
chromatic: I guess the question on representations is how "low level" they are.
chromatic: In Perl 6, they're not objects really.
chromatic: They're nameable thingies.
chromatic I'm coming at this from the interoperability perspective. 17:31
jnthn *nod*
chromatic Python 3 won't support $perlobj.META, but it should support $perlobj.awesome_method()
dalek rrot: r48129 | coke++ | branches/html_cleanup/lib/Parrot/Docs/PodToHtml.pm:
cleanup comments, remove really dead code,
17:32
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
chromatic: Just that the way I'm looking at things at the moment, it's kind of a fundemental.
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.
jnthn chromatic: I'll write up something that tries to coherently explain it. 17:36
And hopefully gives a sense of why it matters in Perl 6 land.
chromatic Are you thinking "Gosh, I hate to allocate an RPA of boxed primitives for the attributes of every object instance"?
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"?
jnthn I see it as more that there's a meta-class API and a representation API. 17:38
In Perl 6, a given class may specify a preference for it's underlying storage stratergy. The default is P6opaque.
It's kinda like how in Perl 5 you can bless an array or a hash
chromatic I follow so far.
jnthn But that's orthogonal to the meta-class really 17:39
That is, if the class was specified as being open to any representation, you could do like
Dog.bless(Dog.CREATE('MyRepr'), ...) 17:40
Where that object would use whatever storage approach MyRepr specified. 17:41
To take examples in S12, .CREATE('P6opaue'), .CREATE(P6hash') and so forth.
chromatic I look forward to reading your notes on this. It has some interesting implications.
ash_ .CREATE('NSDictionary') ... :P
(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.
jnthn chromatic: Yes, it's kinda another degree of freedom.
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
I think we'll be able to work out a wya.
*way
chromatic Parametric roles being a non-hideous, type-safe form of Dependency Injection. 17:44
jnthn I'd not really considered having parametric roles at a very deep level yet. 17:45
Thing is the Perl 6 ones need to be matched based on multi-dispatch.
chromatic That's where things get complicated. 17:46
jnthn Doens't mean we can't have something much simpler at a lower level
chromatic It's possible when *constructing* a class you can swap in a more complex (or at least more different) dispatch strategy.
s/class/metaclass/ && s/swap/compose/
That is, if you know methods of the class have protos or multis, you can use the full dispatcher. 17:47
I think Perl 6 gives you enough lexical information to decide that.
jnthn Oh, I expect that Rakudo will stay having a custom dispatcher. 17:48
It's not just about multis.
I just hope to provide a cleaner way to do it than today.
Multi-methods aren't really a big deal though under current Perl 6 spec.
chromatic Sure, there's always redispatch and such.
jnthn They're essentially nested dispatches.
chromatic Parrot needs to support multidispatch too though. 17:49
... not that it goes as far as where clauses.
jnthn *nod* 17:50
I think it's clear that we need the ability to have custom dispatchers. 17:51
Cleanly.
chromatic Absolutely.
purl Oh my, yes.
18:02 rblasch joined
dalek rrot: r48130 | tcurtis++ | trunk/examples/languages/squaak/src/Squaak (2 files):
[squaak] Get tests passing.
18:04
rrot: r48131 | mikehh++ | branches/html_cleanup/lib/Parrot/Docs/PodToHtml.pm:
fix codetest failure - trailing whitespace
kthakore hi folks
tcurtis kthakore: Hi.
kthakore tcurtis: can I read how pmc files work?
18:05 theory joined
kthakore tcurtis: where ^ 18:05
tcurtis kthakore: docs.parrot.org/parrot/latest/html/...c.pod.html is the PDD 18:06
kthakore ok
tcurtis kthakore: docs.parrot.org/parrot/latest/html/...ss.pl.html describes how to create them. 18:07
kthakore: docs.parrot.org/parrot/latest/html/...s.pod.html is more information about them.
kthakore tcurtis: thanks 18:08
tcurtis kthakore: docs.parrot.org/parrot/latest/html/...s.pod.html looks like a more tutorial-ish description.
kthakore woot! 18:09
cotto_work "work" should be in quotes.
kthakore tcurtis: how do two pmcs work together
cotto_work kthakore, is there something specific you're looking for? 18:11
kthakore cotto_work: I am working on a ticket to swap out string.pmc useage in stringhandle.pmc with stringbuilder.pmc 18:12
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
cotto_work: bacek_at_work put me on it
cotto_work then it's safe to assume it's worth doing
dalek TT #1707 created by mikegrb++: attempt to mmap 2325622477335777280 bytes when printing utf8 in perl6 18:14
TT #1707: trac.parrot.org/parrot/ticket/1707
kthakore cotto_work: TT #1639
cotto_work That is not a small number.
kthakore cotto_work: the number matters?
kthakore is feeling a bit lost now 18:15
cotto_work referring to #1707
kthakore oh ok
cotto_work: holy shit ... that is scary 18:16
wth?
purl wth is, like, Flavour
chromatic Sounds like binary incompatibility.
kthakore chromatic: there was a sound?
chromatic Everything makes a sound.
kthakore chromatic: maybe the RAM exploding 18:17
Coke especially chromatic.
kthakore Coke: hi
ok reading time for kthakore ...
learning new shit ... :D
Coke ponders calling chromatic Shi Er Lüfrom now on. 18:18
18:20 eternaleye joined
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
kthakore: more specifically, how much does it explode? ;)
kthakore tcurtis: lets find out :D 18:22
tcurtis: I was stupidly thinking I need to change Parrot_str_new
as that is how it initializes in open
line 198 18:23
18:23 macroron joined
tcurtis kthakore: Well, you would need to get rewrite that bit, since PMCs are created differently that STRINGs in C. 18:24
kthakore it uses init() from src/pmc/string.pmc right? 18:25
and for the STRING_IS_NUL
we can use get_bool() ?
Coke You'd want to create a new StringBuilder pmc, which is more like pmc_new(interp, enum_class_StringBuilder )
kthakore but isn't there already a StringBuilder pmc? 18:26
particle you need an instance of the class
kthakore 0o 18:27
ok
kthakore goes reading some more
18:29 joeri joined
kthakore particle: um .... sorry newb question again ... how do I do that in *.pmc files 18:29
particle: I know in PIR we do newclass right?
particle: is it newclass('StringHandler') 18:30
tcurtis kthakore: in PIR, creating an instance of the class is with "new WhateverClass"
kthakore ok
particle pmc_new
tcurtis kthakore: I think in C, it's what Coke said: "pmc_new(INTERP, enum_class_StringBuilder)"
kthakore ah ok
so in open()
I do pmc_new
cotto_work ideally with a hllmap thrown in for good measure 18:31
kthakore and then set that too the ATTR PMC *stringhandler ?
cotto_work: hllmap?
how do I access the StringBuilder methods ?
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?
cotto_work HLLs can override Parrot's built-in types with their own.
kthakore cotto_work: 0o
particle purl, forget wait ...
purl particle: I forgot wait
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.
cotto_work Just pass enum_class_StringBuilder through Parrot_get_ctx_HLL_type() before you use it.
pmc_new(INTERP, Parrot_get_ctx_HLL_type(INTERP, enum_class_StringBuilder)); 18:34
kthakore ok
18:34 dolmen joined 18:36 bluescreen joined
kthakore cotto_work: ok so in open() I am doing new_string = pmc_ ... 18:36
hmm 18:37
cmpilign
tcurtis kthakore: you'll probably end up having to change lots of string API calls to vtable calls, unfortunately.
dalek rrot: r48132 | tcurtis++ | trunk/examples/languages/squaak/doc/tutorial_episode_9.pod:
[squaak] Fix a reference to old location of print built-in.
18:38
kthakore tcurtis: ok
tcurtis: I am willing to try ... but honestly I feel totally lsot
lost
tcurtis: how do people break into this?
I am reading the docs but I don't see anything about hll stuff in pcmc 18:39
or even why I need to do that
kthakore is level -1 again :D
NotFound cotto_work: I think that the StringBuilder should be an internal detail of the StringBuilder, nothing that HLL must worry.
of the StringHandle, I mean
particle kthakore++ for your enthusiasm, your tuits, and your good questions
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
dalek nxed: r565 | NotFound++ | trunk/winxedst1.winxed:
some more const float expression optimizations
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.
NotFound tcurtis: some days I think that no one really is %-) 18:42
"really" is such a strong word...
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
but if I make a new_pmc now
StringBuilder should do unicode now right?
instead of string_make
tcurtis kthakore: I think StringBuilder will handle the encoding stuff, yes.
kthakore ok 18:44
lets see ...
ok woo! 18:45
it does it in the internal buffer it self
ok
for push_string
so now that I have a new_string that is a StringBuilder 18:46
I just need to push_string() to init it?
um ... I did make 18:47
but it won't recompile the pmc
...
well the test passed
...
but I don't think the new pmc compiled 18:48
hmm
cotto_work you can nuke the object file
though it should recompile
kthakore cotto_work: ah good point
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
incompatible pointers 18:50
hah
cotto_work Warnings are great. They tell you something's probably wrong.
kthakore yeah
I think change the attr proolly messed with other things
cotto_work: um .... another newbie ... so I did new_pmc .. StringBuilder 18:51
cotto_work: I access push_string with new_string->push_string() right?
18:51 darbelo joined
kthakore or push_string( INTERP, new_string) 18:51
wtf ... the test passed 18:52
but that makes no sense?
purl Chewbacca!
kthakore oO
whiteknight kthakore: VTABLE_push_string(INTERP, pmc, new_string)
kthakore whiteknight: ah
where do parameteres go?
chromatic What parameters? 18:53
purl parameters are definitely in the scope of the callee
whiteknight for push_string?
push_string takes two parameters: the PMC target and the new string 18:54
dalek rrot: r48133 | mikehh++ | trunk/examples/languages/squaak/src/Squaak (4 files):
add shebang line to prevent examples/languages/squaak/src/Squaak/*.pm files being tested by perlcritic
18:55
kthakore chromatic: well what I am trying to do is replace make_string 18:57
for unicode
with StringBuilder's push_string
line 198 src/pmc/stringhandle.pmc
18:58 bubaflub joined
kthakore hmm ... GET_ATTR_stringhandle won't work with PMC 18:58
instead of STRING
ok ...
acking for GET_ATTR 18:59
no ... wait
18:59 AndyA joined
kthakore GET_ATTR_stringhandle(INTERP, SELF, stringhandle); 19:00
so if I am trying to get the stringhandle attr but from SELF 19:01
and put it in PMC stringhanle
handle
it should work
I think
hrmmm 19:02
tcurtis PMC *stringhandle, you mean? 19:03
kthakore yeah
tcurtis You changed the ATTR to "ATTR PMC", right? and you declared a "PMC *stringhandle;" variable? 19:06
kthakore ok ... 19:07
tcurtis: yeah
tcurtis: can I so you the diff so far?
tcurtis kthakore: Sure. Frankly, I'm not sure I can provide much help.
tcurtis is mostly familiar with the PIR/NQP/HLL side of things. 19:08
kthakore tcurtis: ok
tcurtis kthakore: but I'll try. :)
kthakore tcurtis: so will I
:D
nopaste "kthakore" at 192.168.1.3 pasted "StringHandler" (43 lines) at nopaste.snit.ch/22173 19:09
kthakore tcurtis: ^^ 19:10
cotto_work #ps in 111. Don't forget chromatic's request: lists.parrot.org/pipermail/parrot-d...04517.html
kthakore crap ... why can it not find the VTABLE_init(INTERP, StringBuilder
whut gives
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?
er ....
cotto_work yes
chromatic +\tVTABLE_get_string(INTERP, StringHandle, buffer);
kthakore XS time again!
chromatic There's no StringHandle in scope there; you have a casing error.
kthakore errr 19:12
19:12 cxreg joined
kthakore StringBuilder 19:12
purl i guess StringBuilder is better at doing concats than String.
kthakore shit
chromatic More than that, you mean buffer = VTABLE_get_string(INTERP, stringhandle);
kthakore oh ... 19:13
ok
chromatic ... and probably drop the VTABLE_init().
VTABLE_set_string_native() is better.
(init() gets called implicitly from pmc_new())
(I (remember `(lisp))) 19:14
kthakore oh ok
chromatic ... although you don't need to call VTABLE_set_string_native() here at all either.
tcurtis chromatic: don't you mean (remember I `(lisp))? 19:15
kthakore but it says ... StringBuilder not declared
GET_ATTR_stringhandle(INTERP, SELF, stringhandle);
oops
chromatic You have no variable named StringBuilder. You've declared PMC *stringbuilder.
19:15 rurban joined
kthakore o hright 19:16
I thought it was by namespaces
err sorry
chromatic Think of VTABLE_foo() like really ugly method dispatch.
It's always VTABLE_foo(INTERP, invocant, ....)
kthakore ah ok 19:18
so I have to get_attr each time
I want to use it on stringhandle
hmm ...
yay! 19:21
...
some working
level -0.999999998 achieved
:D 19:22
it gets all the way to 19:23
rror: ā€˜StringBuilder’ undeclared (first use in
oops
not that
make: *** [src/dynoplibs/io_ops.c] Segmentation fault 19:24
I think I need to fix the warnings
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#34980), fulltest) at r48133 - Ubuntu 10.04 amd64 (g++)
kthakore I don't need to Parrot_gc_mark_STRING_alive right? 19:27
as it is a PMC?
chromatic Parrot_gc_mark_PMC_alive 19:28
kthakore show I do Parrot_gc_mark_PMC_alive?
chromatic: :D
I got that one. wooo!
sorear chromatic: #phasers is asking about you.
chromatic What's #phasers? 19:30
purl well, #phasers is asking about you.
sorear the new name of #rakudosketch
on freenode
R* planning
14:28 < PerlJam> Do we have a press date for the book from chromatic? Or do we need to tell him when?
etc
chromatic thanks
moritz on freenode 19:32
19:32 LoganLK joined 19:37 gbacon joined 19:40 rblasch_ joined
kthakore hi moritz 19:40
moritz hi
kthakore moritz: I am learning pmc :D 19:41
moritz fun :-)
tcurtis chromatic: what was the code you refer to at news.ycombinator.com/item?id=1527392 ? 19:42
chromatic Test::Builder 19:43
purl it has been said that Test::Builder is the underlying mecahnism for doing the ok/not ok.
kthakore chromatic: how come I cannot call get_string_length (METHOD in stringbuilder.c) using VTABLE_get_string_lenght 19:44
chromatic Methods and VTABLEs are different things. 19:45
kthakore oh ..
I can't fine 'calling Method for pmc ' in the wiki
...
chromatic SELF.method(args) 19:46
dalek rrot: r48134 | khairul++ | branches/gsoc_instrument (9 files):
Rough cut of instrumenting methods + vtable overrides + Regenerated vtable stubs.
kthakore slaps himself
chromatic: wait ... I can't do new_string.get_string_length 19:49
.... it is a PMC*
Chandon Why, in Parrot_pmc_new_init, is the init arg an ARGOUT?
chromatic kthakore, can you post another diff?
kthakore chromatic: sure
nopaste "kthakore" at 192.168.1.3 pasted "StringHandler... line 383" (121 lines) at nopaste.snit.ch/22174 19:50
kthakore chromatic: ^^
19:51 mmcleric_ joined
kthakore oops I need to use buffer_size there 19:51
chromatic kthakore, seems to me you could use status = Parrot_str_byte_length(INTERP, buffer) before performing any concatenations and updates. 19:54
Then you don't need to call methods.
Oh, except you need the new string length.
You definitely don't need this: + SET_ATTR_stringhandle(INTERP, SELF, old_string);
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 19:56 NotFound joined
kthakore chromatic: that makes more sense 19:56
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.
Parrot_pcc_invoke_method_from_c_args(...)
kthakore ok 19:58
chromatic: ok I got it done I think 19:59
I will make and test
thank you very much
dalek nxed: r566 | NotFound++ | trunk/examples/fly.winxed:
some refactoring and minor visual changes in example fly
20:05
kthakore I had to change io
20:06 patspam joined
kthakore crap ... it segfaults at io_ops.c 20:07
:\\
yay :( 20:09
crappy reisntall
this shouldn't affect anything in imcc ? right? 20:11
chromatic Right. 20:13
ish
kthakore hehe 20:14
ok
cause io_ops thingy is segafualt 20:15
in
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
tcurtis kj?
purl kj is Klaas-Jan Stol or mailto:parrotcode@gmail.com or known as kjs
tcurtis Is kj/kjs still involved with Parrot?
cotto_work tcurtis, he wrote the original version of the squaak tutorial
not very actively of late 20:18
He's dropped by once or twice in recent memory.
seen kj
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]
kthakore cries
./ops2c --dynamic src/dynoplibs/io.ops --quiet 20:19
make: *** [src/dynoplibs/io_ops.c] Segmentation fault
~
crap
Chandon That looks like a ton of fun. 20:20
kthakore Chandon: all I did was play in String 20:21
:(
nopaste "kthakore" at 192.168.1.3 pasted "this is all I messed with" (201 lines) at nopaste.snit.ch/22175 20:22
kthakore tcurtis: HALP! 20:24
tcurtis: I broke it :(
ok I will jsut update the ticket and call it a day 20:26
chromatic #ps in 1 20:29
darbelo #ps in 0 20:31
whiteknight #ps in -1
dalek kudo: 2783660 | moritz++ | src/core/IO.pm:
dir() now defaults to filtering out . and ..
20:32
kthakore #ps wth/ 20:33
whiteknight: hi
whiteknight hello kthakore 20:34
kthakore Is there a dep on io.ops from io/api.pmc from stringhandle.pmc ?
tcurtis #ps?
purl #ps is a status meeting for parrot core committers held every Tuesday at 18:30 UTC in #parrotsketch
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
darbelo: can you see TT#1639
I am stuck and I can't debug
chromatic Anyone for making auto_attrs the default? TT #1506 20:36
kthakore darbelo: also how do I accept that ticket? 20:37
Coke chromatic: that ticket is closed... 20:38
chromatic Right, but it suggests deprecating manual attrs and making auto_attrs the default. 20:39
kthakore Coke: close it HARDER!
darbelo chromatic: +1 here.
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.
Coke chromatic: I don't think it's worth picking a default. having it be a required field is fine. 20:41
nice, but very low on my priority list.
chromatic That was the only experimental item I cared sufficiently about.
kthakore so ... 20:42
oh well
chromatic kthakore, the random indentation changes in the patch are confusing. 20:45
kthakore chromatic: oh ok
is there a parrottidy?
chromatic There are coding standards tests under t/ 20:46
Mostly "please, no tabs"
darbelo 'make codetest' will run them all and complain if you go wrong.
kthakore chromatic: ok 20:47
chromatic This doesn't make sense to me: 20:48
+\t new_string = pmc_new(INTERP, Parrot_get_ctx_HLL_type(INTERP, enum_class_StringBuilder));
+\t VTABLE_set_string_native(INTERP, new_string, buffer);
20:48 rblasch__ joined
chromatic If you're creating a new string, store only that in the existing StringBuilder. 20:48
No need to create a new SB unless you don't already have one.
kthakore that is where ther isn't one
chromatic That's not how I read the code. 20:49
+ if (STRING_IS_NULL(buffer)) {
That's very different from if (PMC_IS_NULL(stringbuilder)) { ... }
kthakore ah ok
so ...
we have to check PMC_IS_NULL there
because it is open() 20:50
chromatic If there's no valid SB, this line won't do what you want: +\tstring_result = VTABLE_get_string(INTERP, stringhandle);
... but the name stringhandle there seems inappropriate, because isn't a stringbuilder? 20:51
This doesn't make sense either: 20:52
+\tVTABLE_i_concatenate_str(INTERP, old_string, to_print);
+\tbuffer = VTABLE_get_string(INTERP,old_string);
RETURN(INTVAL status);
Why assign to buffer if you don't use it?
kthakore um ... that was stupid
chromatic Fix the problem in open() and your bug will probably go away. 20:53
kthakore ok
chromatic You might need to write a static helper function fetch_or_create_stringbuilder(). 20:54
kthakore chromatic: also fro get_bool in stringbuilder? 20:55
or empty
20:56 theory joined
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
It may not be useful anywhere other than open().
kthakore ok 20:57
Coke "I, for one, welcome our new Parrot-based Overlords" - ingy
dalek nxed: r567 | NotFound++ | trunk/examples/fly.winxed:
use fixed frame rate to avoid eating too much cpu in example fly
21:04
21:05 hercynium joined
whiteknight Maybe I missed something: what is POC? 21:08
tcurtis poc?
purl poc is this chat, which is running under same in vmware or proof of concept. or piece of crap
tcurtis proof of concept, I'd guess.
whiteknight ah, okay
NotFound I hope is not the last aception.
darbelo purl poc is also Pint of Custard 21:09
purl okay, darbelo.
kthakore wooot! it worked! 21:11
moritz poc is also Point of Contact
purl okay, moritz.
kthakore um ... 21:14
wtf
Failed allocation of 5011178570016358400 bytes
Parrot VM: PANIC: Out of mem!
C file src/gc/gc_ms.c, line 1380
but I adde PMC to the gc
but it doesn't delete
or die
crap 21:15
chromatic Do you have a backtrace?
kthakore chromatic: how do I do that? 21:21
chromatic gdb ./parrot
r some_program arg1...argn
-= CRASH =-
bt
21:21 AndyA_ joined
kthakore ah ok ... 21:22
21:24 AndyA__ joined
Coke leaving now 21:27
kthakore chromatic: ok ... I updated the patch 21:29
chromatic: I have to go home I will try again 21:30
chromatic: can you give me access so I can accept the ticket?
chromatic If I'm not here, someone will be able to review it for you.
kthakore chromatic: thank you so much
tcurtis Coke: should I add a NEWS entry for Squaak or let you do so? 21:36
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.
dalek rrot: r48135 | tcurtis++ | trunk/examples/languages/squaak/MAINTAINER:
Make myself MAINTAINER of Squaak.
21:42
rrot: r48136 | tcurtis++ | trunk/NEWS:
Add NEWS entry for Squaak tutorial update.
dukeleto hola
purl niihau, dukeleto.
dukeleto did 2.6 hit the interwebs yet?
tcurtis dukeleto: not yet. 21:43
dukeleto tcurtis++ on maintaining squaak 21:44
darbelo dukeleto: Nopes, coke hasn't tagged it yet. 21:45
21:48 joeri left
kthakore :D 21:51
darbelo: can I get access on Trac to accept tickets?
darbelo kthakore: I have no idea, I'm not a Trac admin. Coke, particle, chromatic and allison are IIRC. 21:53
kthakore ok 21:57
21:57 rblasch_ joined
dukeleto kthakore: you should be able to accept a ticket if you have a trac account 21:59
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
22:06 hercynium joined
chromatic +1 tcurtis 22:06
cotto_work tcurtis, great 22:07
kthakore dukeleto: I cant
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:08
cotto_work tcurtis, throw it on the wiki 22:09
dukeleto kthakore: which ticket are you talking about?
cotto_work Having a question with a known answer would make the wiki page more accessible.
chromatic TT #1639, dukeleto.
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
dukeleto: I need more time
so I want to accept ticket 22:11
darbelo coverage? 22:12
purl coverage is, like, cv.perl6.cz or tapir2.ro.vutbr.cz/cover/cover-results/
darbelo Chandon: ^
Chandon Neat. I'll have to check that out. 22:13
kthakore dukeleto: maybe even just assign me that ticket? 22:14
oh well gtg
22:15 Hunger joined
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 22:21 blazes816 joined 22:22 TylerSmith joined
tcurtis is assuming #ps is over. 22:24
tcurtis -> away.
dalek TT #1708 created by Chandon++: ParrotThread PMC depricated 22:26
TT #1708: trac.parrot.org/parrot/ticket/1708
TT #1709 created by Chandon++: Task PMC depricated
TT #1709: trac.parrot.org/parrot/ticket/1709
Coke msg cotto_work - if it's in the doc, it'll get done. 22:27
purl Message for cotto_work stored.
Coke Chandon: it's "deprecated" 22:28
22:28 theory joined
Coke also, deprecating something and not giving an upgrade path is not boss. 22:28
Chandon Sweet. I can totally spell.
Coke I think you're better off marking those PMCs experimental.
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
also, IWBNI they warned when instantiated, under "parrot -w".
darbelo Rule of thumb: Current code is deprecated, additions are experimental. 22:30
Coke darbelo: yes, but in this case, that's wrong. =-)
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.
dalek rrot: r48137 | Chandon++ | trunk/DEPRECATED.pod:
Threading and concurrency deprecations for gsoc_threads branch.
22:33 gbacon joined
darbelo I thought it was: experimental features have never shipped not-experimental *in a supported release* 22:33
Chandon IWBNI?
purl hmmm... IWBNI is "it would be nice if"
darbelo Or, that's the approach I've taken in the past.
Chandon How do warnings work? 22:34
Coke Chandon, darbelo: fixing. 22:35
darbelo Chandon: Parrot_warn(interp, PARROT_WARNINGS_ALL_FLAG, "Waring text");
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
nopaste "cotto" at 192.168.1.3 pasted "sha1 checksum addition to the release announcement" (15 lines) at nopaste.snit.ch/22179
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?
mikehh Coke the diffs in pir/chap04 are, I think, to changes in trunk
Coke mikehh: if you can remerge trunk to branch, that'd help. 22:39
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"?
mikehh: now would be nice.
you're basically saying "anything is better than this crap"
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" ?
and "Doesn't work" == bug, not Deprecation. 22:42
I would say, rename your Task PMC to something new, and when we have that, we'll mark /that/ as experimental.
(or Then mark the old task as deprecated in favor of SpiffyTask 22:43
cotto_work "NotExtravagantlyBrokenTask"
Coke I am not a fan at all of "this will eventually change" deprecation notices. we can't have any more of those.
cotto_work +1 to what Coke said 22:44
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.
As far as I can tell, the current Task PMC probably doesn't do anything that anyone uses.
Coke you would have had to steal it before you joined the project.
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
wait until you know what the new interface looks like and then we can talk.
Having a new name for Task in the meantime is a very simple way to avoid this whole issue. 22:47
i'm going to close those tickets.
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.
It's a bugfix. 22:49
Chandon darbelo: With a completely different interface.
Coke Chandon: it only puts off the merge of yoru project if you insist on using "Task"
which you haven't finalized yet, right?
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?
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".
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]
dalek rrot: r48138 | darbelo++ | trunk/docs/project/release_manager_guide.pod:
Add a step for computing SHA1 sums to the Release Manager Guide.
darbelo Crap. Forgot to mention cotto++ in the commit message 22:51
cotto++ # For good measure.
cotto_work OH NOES!
Coke $DINNERTIME
NotFound Can't you call it 'Tasklet' or something like that?
Coke I will nom before doing anything else with the tickets.
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.
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
dalek tracwiki: v3 | cotto++ | LoritoOps 23:15
tracwiki: updates from #ps
tracwiki: trac.parrot.org/parrot/wiki/LoritoO...ction=diff
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.
accident of implementation.
I'll be happy to work with you when it's time to merge back to avoid any deprecation issues.
Tene Just call it "Taaask"
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:16
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
TT #1709: trac.parrot.org/parrot/ticket/1709
Chandon cotto_work: Yes. That's obviously the correct solution. Best API ever.
cotto_work You're welcome. 23:18
dalek nxed: r568 | NotFound++ | trunk/winxedst1.winxed:
delete some redundant checks
Coke we're not constraining the new discussion.
by going with something-not-called-task, you're pretty much free to do the right thing.
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?
Chandon I mean, the position I would be arguing in that discussion is that the right thing...
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.
Coke Ok. so rename your other Task to <some appropriate name>, and everything is still incredibly kosher. 23:21
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:22
Coke Chandon: there is prior art here. I cannot make that go away. 23:23
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. =-)
dalek rrot: r48139 | mikehh++ | failed to fetch changeset:
merge html_cleanup branch with trunk
23:24
Chandon So you're saying that API changes can't happen?
dalek rrot: r48140 | coke++ | trunk/DEPRECATED.pod:
Remove these 2 notices;

system and new in place simultaneously to allow anyone to cut over through a supported release, then remove the old versions.
Coke Chandon: we really need to have /both/ APIs in place simultaneously to allow cutovers.
otherwise there is NO easy upgrade path. 23:25
here's the process:
1) add glorious new API
2) deprecate old crappy API.
(that happens at a supported release).
3) with that deprecation, publish notes on how to use the new API. 23:26
immediately after the release, rip out the old API.
by the time the /next/ supported release hits, it will contain only the new API.
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
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.
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.
whiteknight: Yes, well, we should have thought of that before releasing it.
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.
Coke There is a very simple, easy, workable way to get the new functionality in. 23:29
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
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.
whiteknight: Be that as it may, how does doing it the right way going forward hurt anyone?
Coke is rapidly losing steam for doing the release. whee. 23:32
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.
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.
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?
dalek TT #1708 closed by coke++: ParrotThread PMC experimental
TT #1708: trac.parrot.org/parrot/ticket/1708
Chandon Coke: whiteknight 23:36
purl whiteknight is mailto:wknight8111@gmail.com or the grand master funk or wknight8111.blogspot.com/
Coke NotFound: no point, perhaps. but given that it's trivial to do it "right", I don't see why not to.
NotFound Coke: it we do it "right", no deprecation notice required, isn't it? 23:37
No urgent need for it, I mean. 23:38
Coke no, if we /did/ it right. That ship has sailed.
we are now living in an imperfect repository.
cotto_work Coke, no wai
mikehh a perfect parrot - whee 23:39
cotto_work "perfect" is the name for the 6.0 release.
Coke I think I'm going to declare 'make html' bust for this release. 23:40
(at least, my rewrite of it.)
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.
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.
So, in any case there is no urgent need for the notice. 23:43
darbelo www.synonyms.net/synonym/task
darbelo wants a "chore" PMC
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.
whiteknight so that's an argument about ever improving any subsystem in-place
s/about/against/
darbelo It's not improved in place, it's getting ripped out and replaced with an incompatible alternative. 23:45
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.
darbelo Tene: Sure. That's why amputation is an improvement.
whiteknight darbelo: in this case yes, it's a straight replacement
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.
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
Coke I would argue my position the same way even if we had a month to go, though.
whiteknight: of course you can have both systems in place at the same time.
you just can't give them both exactly the same name. 23:48
whiteknight Coke: bologna
Coke if they have completely different behavior. (Not: "fixed" behavior vs. "broken" behavior)
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
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.
Coke even if there is no way to have both in place simultaneously.
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
Coke whiteknight: really? I haven't seen it mentioned once in this discussion.
whiteknight and even if we don't replace it, current Tasks and Threads should be deprecated and removed no matter what
Tene "Removed or replaced with a functional reimplementation" might be better.
whiteknight Coke: his GSoC proposal, and weekly blog series
Coke whiteknight: too bad that won't happen until 2.9
whiteknight That's fine, so long as it happens 23:51
Coke -> afk to work on the release.
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
23:52 bubaflub joined
Coke whiteknight: the opcode stuff should not have gone in that way, either. 23:52
Nothing is preventing you from removing this broken crap. 23:53
just not. right. now.
whiteknight Coke: should not, maybe. But at the time it was a perfectly valid interpretation of the policy
and swinging the pendulum all the way to the other side and preventing the removal of garbage is just as bad
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
whiteknight absolutely hates the deprecation policy 23:56
as if I don't say that enough
23:56 Psyche^ joined
Tene whiteknight: +1 23:58
purl 1
Tene purl: I wasn't talking to you
purl Tene: excuse me?
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
Coke trac picked a great time to go out into the weeds. 23:58
whiteknight Coke: up for me. What's wrong? 23:59