#parrot Parrot 2.2.0 "Like Clockwork" Released! | parrot.org/ | Channel log: irclog.perlgeek.de/parrot/today | Improve Rakudo rx and buildtime performance | Fix HLL bugs (TT #389, #1040) | Prioritize Rakudo Needs and roadmap items
Set by moderator on 30 March 2010.
dalek izkost: 44dc7ad | sorear++ | t/spec/base/term.t:
It doesn't make sense to test $^X in an embedding application
00:00
sorear hello dukeleto 00:03
darbelo aloha
dukeleto darbelo: your gsoc app looks pretty nice 00:05
darbelo Thanks. I tried to keep in mind the tip you gave me last year. 00:07
*tips
In fact I reused the googedoc as a template. 00:09
00:10 lucian joined 00:27 snarkyboojum joined 00:31 Mokurai joined 00:34 dngor joined
tcurtis Is there any particular reason why all of the tests and all of the runtime library seem to be written in PIR as opposed to NQP? Would NQP not be fast enough? Or is it that NQP can't do some of the things the library needs to do? 00:54
dukeleto tcurtis: NQP is relatively new 00:58
tcurtis: there are many tests written in Perl 5, as well. those are mostly being converted to PIR 01:02
tcurtis: there are some tests written in PASM as well.
tcurtis Forget the portion about tests, then. I had forgotten that not all the tests were PIR. Would it be useful, perhaps, to have the runtime library implemented in NQP(at least, the parts that aren't necessary for NQP)? 01:09
purl tcurtis, I didn't have anything matching portion about tests, then. i had forgotten that not all the tests were pir. would it be useful, perhaps, to have the runtime library implemented in nqp(at least, the parts that aren't necessary for nqp)
01:15 Mokurai joined
dukeleto purl, go play in traffic 01:21
purl wanders off to dent some cars.
dukeleto tcurtis: yes, i think there would be some interest parts of the runtime being in NQP 01:22
01:22 eternaleye joined 01:29 Mokurai2 joined 01:34 Mokurai joined 01:39 Mokurai joined
dalek kudo: c638c55 | (Solomon Foster)++ | src/core/Real.pm:
Start adding operators for Real and Num.
01:40
kudo: 6ce9873 | (Solomon Foster)++ | t/spectest.data:
Add real-bridge.t to the tests.
01:42 Mokurai joined 01:43 Mokurai1 joined 01:45 Andy joined, mib_ador74 joined
sorear tcurtis: NQP is also not quite low-level enough for some purposes 01:49
purl okay, sorear.
sorear e.g. NQP cannot process named and slurpy return values
no tailcalls, no :flat :named argument support, no non-pmc locals 01:50
you can of course work around these restrictions with Q:PIR, but if your entire file winds up being a Q:PIR block, why bother?
dalek rrot: r45401 | petdance++ | trunk/src/pmc/callcontext.pmc:
consting aplenty
01:54
01:55 Psyche^ joined
Coke no, parrotlog is <reply>irclog.perlgeek.de/parrot/ or prolog on parrot by arnsholt++ 01:59
msg moritz (when re-educating purl, don't say purl: no, just start with no,) 02:00
purl Message for moritz stored.
Coke no, parrotlog is irclog.perlgeek.de/parrot/ or prolog on parrot by arnsholt++ 02:03
dalek kudo: cb2a2d8 | jonathan++ | src/ops/perl6.ops:
Fix throwing of exceptions when binding fails so we don't end up treating hash parameters as formats.
02:10
kudo: 4d1b1c7 | jonathan++ | src/binder/bind.c:
Awesomize errors for sub-signatures, to mention that the binding error was in a sub-signature and also, if it has one, the name of the variable that captured the entire thing that sub-signature is being bound against.
sorear purl: parrotlog? 02:16
purl hmmm... parrotlog is irclog.perlgeek.de/parrot/
sorear purl: forget parrotlog
purl sorear: I forgot parrotlog
sorear purl: parrotlog?
purl i haven't a clue, sorear
sorear purl: parrotlog is prolog on parrot by arnsholt++ or irclog.perlgeek.de/parror/
purl: forget parrotlog
purl sorear, I didn't have anything matching parrotlog
sorear parrotlog is prolog on parrot by arnsholt++ or irclog.perlgeek.de/parrot/ 02:17
tcurtis parrotlog?
purl: parrotlog? 02:18
purl tcurtis: i don't know
sorear well, I half succeeded!
02:22 Mokurai2 joined
tcurtis parrotlog is prolog on parrot by arnsholt++ || irclog.perlgeek.de/parrot/ 02:29
purl: parrotlog?
purl no idea, tcurtis
tcurtis purl: parrotlog is prolog on parrot by arnsholt++ || irclog.perlgeek.de/parrot/ 02:30
purl: parrotlog?
purl i haven't a clue, tcurtis
Coke || isn't valid. 02:33
no, parrotlog is prolog on parrot by arnsholt++ with source at irclog.perlgeek.de/parrot/ 02:34
parrotlog?
purl, parrotlog?
purl coke: i haven't a clue
Coke argh.
(fixed) 02:35
02:35 janus joined
tcurtis I don't think that url is the source of arnsholt's prolog implementation. 02:35
Unless it is hidden extremely cleverly. 02:36
Coke ah. 02:37
re-refixed. 02:38
"Parent isn't a Class."
%5~6~&8~*
sorear Coke: is that related to #1542 02:39
Coke I'm trying to convert the subclasses partcl-nqp is using into pure-NQP subclasses. 02:40
I think I have a definition ordering problem, or a .HLL directive problem.
sorear sounds possibly related to #1542 02:44
02:46 lucian joined
dalek rtcl-nqp: e45903a | Coke++ | src/ (2 files):
convert vtable overrides for TclString to be like TclList
02:46
purl I don't know how to convert vtable overrides for TclString to be like TclList.
02:52 abqar joined
Coke oh, that's fun. on OS X, if you do a "vi WrongCase.Txt" on wrongcase.txt, it saves the file with the new case mangled name. 02:55
sorear I bet this is because vi does saves using rename(2) 02:57
see :help 'writebackup and :help 'backupcopy 03:00
the default vim save protocol is rename(F, F~); open(F); write; close; unlink(F~) 03:01
03:02 Mokurai joined
dalek rtcl-nqp: 16f0b3d | Coke++ | src/class/tcllist.pir:
remove now superfluous namespace directive.
03:03
rtcl-nqp: 6a4abcd | Coke++ | (6 files):
Replace 2 trivial PIR files with one liners in NQP.
03:06 leprevost joined
nopaste "coke" at 72.228.52.192 pasted "ok, why does this fail with "parent is not class" ?" (14 lines) at nopaste.snit.ch/20175 03:10
Coke (NQP question in the nopaste)
blizkost? 03:11
purl blizkost is github.com/jnthn/blizkost/tree/master or the last Jonathan's project, an embedding of Perl 5 in Perl 6
Coke seen Austin? 03:23
purl Austin was last seen on #parrot 19 hours, 30 minutes and 26 seconds ago, saying: dwim();
03:46 Mokurai1 joined
Coke bah. "class TclList is Hash { pir::noop }" works. 03:49
s/ResizablePMCArray// , boom.
er, s/Hash/ResizablePMCArray//
dalek rrot: r45402 | petdance++ | trunk (2 files):
consting
04:06
04:18 JimmyZ joined 04:22 Mokurai joined 04:25 chromatic joined 04:36 dngor joined 04:52 Mokurai1 joined
dalek rrot: r45403 | petdance++ | trunk (2 files):
fixing function annotations
04:55
04:56 Mokurai2 joined 05:02 Mokurai joined
dalek rrot: r45404 | petdance++ | trunk/src/string/encoding.c:
adding more function annotations
05:11
TT #660 closed by bubaflub++: Tidy failure cases for PIR implementation of t/pmc/ro.t 05:20
TT #660: trac.parrot.org/parrot/ticket/660
rrot: r45405 | bubaflub++ | trunk/t/pmc/ro.t:
[TT #660] tidy failure cases of t/pmc/ro.t, patch courtesy of bobw++
05:28
05:32 bubaflub joined
bubaflub bacek_at_work: i'm looking at TT #1478 and i can handle it if you can describe what needs to be moved where 05:38
06:00 Mokurai joined 06:19 Mokurai1 joined 06:40 Mokurai joined 06:44 Mokurai joined
dalek rrot: r45406 | petdance++ | trunk (5 files):
annotatig more functions
07:05
07:33 snarkyboojum_ joined 07:34 snarkyboojum joined
sorear Why are there so many different _keyed_ vtable functions? 07:35
chromatic msg andy Is it worthwhile to consider the use of hot/cold GCC function annotations? 07:39
purl Message for andy stored.
07:45 abqar_ joined 07:52 fperrad joined 07:55 fperrad_ joined
moritz chromatic: in use.perl.org/~chromatic/journal/40296?from=rss "just like always calls a method" should probably "justlike <.foo> always calls a method" or so 08:14
dalek izkost: fde0149 | sorear++ | (10 files):
Relicense to Artistic 2.0 (same as Parrot)

open-source project to be in. I have e-mails and IRC approval from all committers in 'CREDITS' and 'git log'. The Parrot license was chosen because Blizkost's integration with Parrot is far deeper than its integration with Perl 5.
08:19
sorear this whole OP_FOO_keyed_BAR combinatorial explosion is vaguely daunting 08:35
chromatic Ever read the source of pp codes in Perl 5? 08:36
sorear yes
chromatic Complexity gets swept under someone's rug. 08:37
sorear alternatively it can be replaced by inefficiency, c.f. Java 1.1 collections framework "la la la, we have 1 kind of keyed access operation and all containers are boxed" 08:38
Is there something I can use like a --target=pasm ? 08:43
I'm trying to see what vtable stuff is being used by NQP and I'd like to see something lower level than $I13 = $P9[7]
chromatic ./parrot -o foo.pasm foo.pir 08:47
dalek izkost: cec4700 | moritz++ | (2 files):
add a "nt" make target that runs tests written in NQP
08:54
sorear stands back 09:00
09:34 mikehh joined 09:43 fperrad joined 10:06 payload joined 10:09 walter joined 11:02 lucian joined 11:03 clinton joined 11:40 whiteknight joined
whiteknight good morning #parrot 11:42
Chandon's latest GSoC email is very impressive
moritz which one? about threads? 11:43
darbelo Hybrid Threads, yeah. 11:48
mikehh definately excellent 11:51
I like the bit saying - will put Parrot a step ahead of pretty much any other open source dynamic language runtime in this area 11:54
whiteknight I worry that this project may be a little bit too ambitious, however 11:55
I'm definitely going to read over the proposal closely to make sure there are suitable checkpoints.
mikehh reading his bio - this is the area he is focussing on - and with mentor help this sould work 11:56
darbelo If he had said '... portably.' it would be too ambitious for sure.
Restricted to Linux pthreads, it might be doable. 11:57
whiteknight purl msg tewk: We got a great GSoC proposal focusing on threads. I know you had done some design work in this area. It would be really great if we could get some input from you about it
purl Message for tewk stored.
whiteknight darbelo: With a proper abstraction layer, porting to other systems wouldn't be too too hard
but yes, I would definitely suggest he focus on a Linuxish environment and pthreads to start
12:15 khairul joined, tcurtis joined 12:19 tetragon joined 12:21 ruoso joined
dalek kudo: ebb9f47 | moritz++ | src/builtins/Iterator.pir:
implement Iterator.Bool, so that "if @things.grep($tester)" works properly. Fixes RT #74056
12:40
kudo: 7348b9a | moritz++ | src/c (2 files):
List.grep should take a Mu, so that Junction matchers DWYM
Coke (parrot has an RT instance) one wonders where the RT instance is still documented. 12:55
12:58 snarkyboojum joined 13:11 TiMBuS joined 13:13 atrodo joined 13:14 particle joined
dalek kudo: eaac605 | jonathan++ | src/Perl6/Actions.pm:
Make anonymous named parameters (yes, I know...masak told me to) work.
13:22
kudo: 1795a2e | jonathan++ | src/core/Signature.pm:
Show sub-signatures in .signature.perl.
Coke seen Austin? 13:27
purl Austin was last seen on #parrot 1 days, 5 hours, 34 minutes and 27 seconds ago, saying: dwim(); [Apr 4 07:53:23 2010]
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#33014), fulltest) at r45406 - Ubuntu 10.04 beta amd64 (gcc with --optimize) 13:39
13:42 dngor_ joined, particle joined
Coke tries to not think about his NQP problem will at $DYAJOB. 13:44
particle /set finger-mode = slow 13:47
/set brain-mode += caffeine
13:55 PacoLinux joined 14:16 jan joined 14:17 bubaflub joined 14:24 whiteknight joined 14:30 jsut joined 14:37 Andy joined 14:41 theory joined 14:45 patspam joined 14:58 ash_ joined
dalek kudo: 2464ddb | moritz++ | src/glue/run.pir:
bring back %*VM, though currently it is a parrot Hash, not a Rakudo Hash (no idea how to fix that :/ )
15:17
kudo: c1b6e23 | jonathan++ | src/Perl6/ (2 files):
Implement signature literals.
15:46
kudo: c6c7754 | jonathan++ | src/core/operators.pm:
prefix:<|> on anything other than the things we already define it on should not give an error, but instead give a Capture with just that thing in it; TimToady++.
kudo: 1529fa0 | jonathan++ | src/builtins/Capture.pir:
Capture.Capture should be identity.
kudo: b737dff | jonathan++ | src/core/Signature.pm:
Implement smart-matching against a signature for the Capture and Any cases (and throw exceptions on the two we don't yet implement).
kudo: 38db52b | jonathan++ | src/glue/run.pir:
Merge branch 'master' of github.com:rakudo/rakudo
cotto_work good morning 16:07
purl Good Morning Mr Rogers
bubaflub morning cotto_work 16:08
khairul hi cotto_work 16:30
16:40 Austin joined
Coke Austin: *POUNCE* 16:43
Austin Is that a Tigger-like pounce, or a Kzin-like pounce?
whiteknight Shhh. Here we see the wild Coke, stalking it's prey in it's natural habitat 16:44
Coke Speaker To NQP.
Austin puts on his cheesy Australian accent... 16:45
Now, watch me stick my thumb up its arse..
What's new, oh master of Tcling?
Coke Austin: I am trying to use nqp's 'class' to create my class, and failing. 16:47
Austin Heh
Coke check out github.com/partcl/partcl-nqp/blob/m...TclList.pm
Austin Does that work or not-work? 16:48
Coke if I try to eliminate the pir:: subclassing there and go with a class TclList is ResizablePMCArray, I get various failures.
the code as is works.
Austin Okay.
Coke (I just moved the separate PIR files that used to do that into the nqp one liner.
but now I want to make the pir:: go away.
Austin What kind of errors? 16:49
(And at some point, you're going to turn to Whiteknight and say, "You know that idea that Austin had for getting rid of PMCProxy...?")
whiteknight Austin: it's probably a good idea 16:50
arnsholt Coke: Thanks for pasting that. I've been wondering how add vtable overrides to my NQP classes =)
Austin (Coke: Would you commit your Makefile.in, too?) 16:51
nopaste "coke" at 72.228.52.192 pasted "here's the error - error doesn't happen if we use 'Hash' as the parent, presumably because NQP has its own Hash." (30 lines) at nopaste.snit.ch/20177 16:52
Coke Austin: everything is committed.
(that works)
(you might need a reconfig) 16:53
arnsholt: someone here gave it to me a few days ago =-
Austin Had to blow away makefile.. 16:54
Coke Austin: whenever makefile.in changes, perl Configure.pl again. (just like parrot)
Austin Yeah, but makefile is supposed to do that for me... :)
Coke Austin: done. 16:59
khairul cotto: does this constitute a dynloadable runcore? github.com/khairulsyamil/Parrot-dynruncore 17:02
Coke Austin: note that without the pir::noop there, the class definition doesn't generate any PIR. but with it, the p6 meta model doesn't seem to like using RPA as the base class.
Austin Yeah. 17:03
It wants it to be registered. I'm trying to get that to work
dalek rtcl-nqp: 42a925a | Coke++ | build/Makefile.in:
Allow makefile to auto-gen itself.
17:04
Coke in the meantime, pir::* is better than *.pir, so I'm down to just the one .pir file in the distro. 17:05
cotto_work khairul: you shouldn't have to do that much work, though actual dynruncores haven't been implemented. 17:06
but I think you have the idea. 17:07
17:12 cotto_w0rk joined
cotto_w0rk If you like, we can set you up with a svn branch. 17:12
dalek kudo: 08e1886 | jonathan++ | t/spectest.data:
Add S03-smartmatch/capture-signature.t to spectest.data.
17:13
cotto_w0rk Then once runcores become dynamically loadable, you can move it into its own project (or whatever your long-term plan is). 17:14
khairul cotto_work: hrm, alrights. i was experimenting around in my free time. i find that it helps in learning the internals.
cotto_w0rk Sure. It'd also help to submit a patch to something runcore-related. Even just adding documentation to a function can force you to get a better understanding of how a chunk of code works. 17:16
khairul that's true too. 17:18
17:24 preflex joined
Austin Coke: test cases? 17:31
purl test cases are such a pain
Coke Austin: ? 17:32
Austin Do you have a particular test file in mind that exercises TclList?
I'm getting some weird failures in tcl_list.t
Okay, nm, they're all todo 17:34
Coke (yes, that's the one.)
Austin Off by 4 error in plan of string tests.. 17:35
dalek kudo: 3611f1b | masak++ | src/core/Temporal.pm:
[Temporal.pm] initial commit
17:36
rtcl-nqp: 8fae447 | Coke++ | build/Makefile.in:
move makefile regen so it it's not the default.
17:38
Austin Pushed
push it! 17:39
purl Oh!
17:41 Mokurai1 joined
Coke hurm. now getting Unrecognized backslash sequence: '\\v' at line 142, near "\\", \\"\\\\\\\\v\\");" 17:41
Austin 8O 17:42
From what?
dalek rtcl-nqp: 3186529 | Austin_Hastings++ | src/ (2 files):
Got TclList "more NQP based"
17:44
rtcl-nqp: 49c066d | Austin_Hastings++ | build/Makefile.in:
Merge branch 'master' of github.com:partcl/partcl-nqp
Coke Austin: as part of the build. 17:46
predates your change.
think it's realte dto an updated parrot.
Austin Whew
I didn't think I was using any \\v's... 17:47
but sometimes they just slip in there when I'm not looking..
Coke Austin: ... that really doesn't look much cleaner than my version. =-) 17:48
17:48 darbelo joined
Austin Maybe, but it's "class" based, and you won't have to copy some of that stuff to any other types. 17:49
dalek rtcl-nqp: 5c7ba11 | Coke++ | src/TclList.pm:
Use explicit hex code for nonstandard (?) \\v.
17:55
rtcl-nqp: f5190df | Coke++ | src/TclList.pm:
whitespace cleanup;
17:58 lucian joined 18:01 Mokurai1 joined
Coke Austin++: moved the infrastructure bit into src/init.pm, minor cleanup on TclList, switched over TclString. 18:02
Austin W00t 18:03
Coke how on earth did you know you had to use .register() ?
(and why is .register not needed for Hash or String?) 18:04
dalek rtcl-nqp: 46dc23b | Coke++ | src/ (2 files):
Move setup code into init.
18:06
rtcl-nqp: 6731036 | Coke++ | src/TclString.pm:
create TclString type with 'class' instead of PIR
18:07
18:14 jan joined 18:21 Mokurai joined 18:39 chromatic joined, ash_ joined
kthakore hi chromatic 18:53
chromatic: redesigned SDL_perl 2.4 is comming out in a few minutes \\o/
chromatic Excellent. 19:00
kthakore chromatic: yup 19:02
chromatic: I am stoked
chromatic: 8 months of work
bubaflub kthakore++ 19:05
kthakore bubaflub: oh thanks 19:06
Coke ... anyone here see google's news archive (searches through old newspapers?) 19:14
ash_ you can even set the date parameters on that search, kinda nifty 19:15
dalek kudo: c41cf3f | (Martin Berends)++ | src/core/Temporal.pm:
[core/Temporal.pm] bring day-of-week, month-name and day-name from alpha
19:16
bubaflub Coke: i think i have a fix for TT #1036 - readonly should be shallow 19:18
really, it's just a fix for un-todo-ing a test 19:19
gist.github.com/356754 is the diff (also contains some codingstd stuff for the labels) 19:29
19:33 brooksbp joined 19:34 brooksbp joined
brooksbp Can someone here help me with a search? I'm trying to find interesting research related to abstract machines (like the SECD machine); particularly using abstract machines to understand memory usage of programs. Does anyone have suggestions, directions, or links? 19:38
19:42 eternaleye joined
Andy trac? 19:57
purl trac is a web-based software project management and bug/issue tracking system emphasizing ease of use and low ceremony. It provides an interface to the Subversion revision control systems, integrated Wiki and convenient report facilities. projects.edgewall.com/trac/ or Python, SQLite and ClearSilver or killing killtrac or a bug-tracking tool or at trac.parrot.org/parrot/ or slow or REALLY slow
19:59 Mokurai joined
Coke brooksbp: might be better off hitting the list. 19:59
parrot-dev?
purl well, parrot-dev is mailto:parrot-dev@lists.parrot.org or lists.parrot.org/mailman/listinfo/parrot-dev
Coke bubaflub: ok. I was just the guy that copied the ticket. 20:00
bubaflub Coke: okey dokey. i read the RT thread and this fixes it; i'll apply the patch.
Andy I'm creating a new Trac ticket per chromatic
Coke bubaflub: labels:s are usually outdented a bit. 20:01
bubaflub Coke: i thought the coding standard said two spaces
Coke sounds right. your gist looks like they line up with code now. 20:02
bubaflub i've always indented 4 for PIR and then 2 outdented for the label
ah, yeah
that's just a gisting formatting thingy
Andy trac.parrot.org/parrot/ticket/1543 20:03
bubaflub cause the + is pushing it over one space
Andy chromatic: Notes welcomed
bubaflub Coke: another ticket bites the dust. thanks for the review. 20:08
Coke thanks for doing the actual work. 20:09
bubaflub np, just hitting some low-hanging fruit to clean out the ticketing system
i'm off to class; catch ya'll later
dalek TT #1543 created by petdance++: Create PARROT_HOT and PARROT_COLD function annotations 20:14
TT #1543: trac.parrot.org/parrot/ticket/1543
TT #1036 closed by bubaflub++: readonly should be shallow
TT #1036: trac.parrot.org/parrot/ticket/1036
20:20 wagle_ joined
dalek rrot: r45407 | bubaflub++ | trunk/t/pmc/ro.t:
[TT #1036] readonly should be shallow
20:21
Coke rt.perl.org/rt3/Ticket/Display.html?id=57294 - how does one sleep forever in parrot? 20:52
20:58 wagle joined
tewk brooksbp, matt.might.net/ 21:01
Coke $N1 = "Inf"; sleep $N1 doesn't do it. =-) 21:10
tewk Is there anyway to get a complete stack trace from mzscheme? This is one of the things that frustrates me about mzscheme. 21:12
oops wrong channel
22:09 tcurtis joined 22:10 bacek joined
bacek back online 22:11
~~
darbelo o/
GeJ G'Day Bacek!
Good morning everyone. 22:12
bacek G'Day GeJ, howizgoin'?
Austin Okay, I'm pretty well convinced that interfaces are a better idea than roles right now. 22:14
GeJ bacek: busy, busy, busy... you?
22:14 Whiteknight joined
bacek GeJ, spent long weekend offline. Feel myself terribly awesome :) 22:15
chromatic Interfaces are a better idea than roles?
On what planet?
bacek Hello Mr. Whitworth
tewk Whiteknight, threads proposal url?
bacek seen chandon
purl chandon was last seen on #parrot 3 days, 2 hours, 12 minutes and 40 seconds ago, saying: It really depends on the application and the algorithm. For some things, nothing, for others, everything. [Apr 2 20:03:14 2010]
bacek tewk, pandion.ferrus.net/gsoc/proposal-hy...hreads.txt 22:16
darbelo Pale green threads? 22:17
bacek darbelo, you prefer "Light Pink" one? :)
Austin chromatic: On a duck typing planet where the implementation is different, but I want to enforce the promise that behavior is there.
(In this case, delegation.) 22:18
chromatic Roles can do that too.
Austin How so?
bacek Austin, if ($obj.does("Role")) ? 22:19
chromatic Don't compose in any behavior from the role, either when you define the role (it requires but does not provide implementations of state and behavior) or within the class into which you compose the role (it excludes the composition of behavior and state).
Austin Could you say that again in en-us ? 22:21
chromatic You have a role which requires a handful of methods. 22:22
You have a class which has-a thingie which does that role.
You want to delegate from instances of that class to the contained thingie.
Austin Fair enough. 22:23
chromatic You don't want anything outside of the class to know that the class uses delegation.
bacek
.oO( yada-yada-yada )
Whiteknight tewk: bacek had the link
chromatic Thus the class can compose the role, but because it provides the methods of the role (which delegate to the containee), it doesn't compose in default implementations from the role.
bacek role Foo { method bar { ... } }
Austin interface Foo { method bar {...} } 22:25
Equally functional in nqp... 22:26
chromatic Except that interfaces (as understood in the Java sense) don't provide implementations of behavior/state.
If NQP makes role/interface synonyms, then use the shorter one.
Austin Heh. And neither does a role from which I compose no behavior.
chromatic Right, but at least with roles you have the option at the point of composition. 22:27
Austin Sure.
Right now I'm doing pretty much that, using "die" instead of yadda. 22:28
And I'd prefer compiler support. 22:29
One more reason for me to work on P6metarole, which I really don't want to do...
dalek parrot: 2eeaf9c | dukeleto++ | plparrot.c:
Grab the argument type for each argument, not just the first
22:39
parrot: d5d8992 | dukeleto++ | plparrot.c:
Add Oid validation check back in the correct spot
parrot: 80e26d6 | dukeleto++ | plparrot.c:
Allow some other int/float types to be passed into stored procedures
22:44 ruoso joined 22:59 tetragon joined 23:05 davidfetter joined
dalek kudo: 3b1d348 | (Martin Berends)++ | src/core/Temporal.pm:
[core/Temporal.pm] minor changes to pass all 17 existing tests - more required
23:31
dukeleto 'ello 23:36
Whiteknight hello duke 23:38
23:46 hercynium joined