#parrot Parrot 0.6.1 "Bird of Paradise" Released | parrotcode.org
Set by moderator on 22 April 2008.
00:26 wolverian joined 00:36 DarkWolf84 joined 00:37 Theory joined 01:17 cotto_work joined 01:37 DarkWolf84 joined 01:51 Theory joined 02:28 Ademan joined 02:37 guru joined 02:42 tetragon joined 03:32 AndyA joined 03:51 contingencyplan joined 04:19 Psyche^ joined
Infinoid japhb++ # very elegant code 04:54
but what's the darwin case for? I haven't read kid51's patch in detail, but your addition seems to suggest some additional changes elsewhere
04:56 iblechbot joined
japhb Infinoid: thank you! 04:58
Infinoid: auto::opengl needs to handle darwin separately from other *nix variants because of the '-framework' flags that are darwin-specific. Most other library detection steps seem to be able to treat darwin as a generic *nix (or so I gather) 05:00
05:01 Theory joined
Infinoid it never seemed very clear to me whether the -framework flags were actually necessary 05:02
it sounded like it worked without any linker flags at all, and decided at runtime which library to use
~the -framework option was just a way of forcing the issue 05:03
-~
05:03 zarchne joined
japhb Last I heard, they weren't ... but I never saw a patch or commit from an OS X person confirming that. 05:03
Infinoid tetragon would know, I wouldn't.
japhb But even so, we still have to treat darwin as an exception, because I remember saying that the normal *nix -l flags *wouldn't* work. 05:04
Infinoid anyway, if what we have now works, I don't see any real reason not to stick with it
japhb so darwin would just get nothing added, I suppose.
I don't treat it as high priority, but I'd like to confirm if the -framework flags can be dropped across all OS X & XCode releases, for two reasons: 05:05
1. because I don't like having flags that are known to serve no purpose; it obfuscates the truth about what is happening 05:06
2. The next time we have a library that gets treated as a framework in OS X, we will want to do the right thing (and save ourselves some effort trying to find the right flags) 05:07
Infinoid I wonder if your modification means the config plugins which don't care about darwin have to copy their "default" stuff to "darwin" now
japhb Nope, that's why I had the || in the my $libs line
Infinoid but I'm too lazy to read the patch and find out. :) 05:08
great!
goodnight
japhb You never have to specify anything other than default, actually. :-)
you too!
purl ohhh oh oh, the sweetest thing...
06:06 Zaba_ joined 06:15 uniejo joined 06:50 Zaba joined 08:36 IllvilJa joined 09:57 dakkar joined 10:02 contingencyplan joined 10:23 kid51 joined 10:32 wknight8111 joined 10:58 DarkWolf84 joined 11:37 rotty` joined 11:50 rdice joined 11:54 tetragon joined 11:55 skids joined 12:03 ruoso joined 12:25 Zaba joined 12:40 ambs joined
Zaba my %hash = (test => "moep"); <-- this is not valid perl6, right? 12:59
ambs hopes it is
but I have *no* idea 13:00
:D
Zaba it causes rakudo to segfault
or well parrot, more like
jonathan Zaba: It's valid Perl 6, but use the colonpair notation for paris at the moment.
Segfault is...pretty extreme.
Zaba jonathan, hm?
lemme bt full it
jonathan my %hash = (:test("moep"));
Zaba oh. 13:01
ambs yuck
Zaba rafb.net/p/htOdEt53.html
ambs purl, seen coke
Zaba here's bt full
purl coke was last seen on #parrot 17 hours and 6 minutes ago, saying: pmichaud: new ticket with a see also is probably best, since you're asking for something else. =-)
ambs purl, seen merlyn
purl merlyn was last seen on #moose 35 days and 15 hours ago, saying: ... methodsandmessages.vox.com/library/...ltalk.html [Mar 20 15:09:20 2008]
Zaba code: my %hash = (test => 'moep'); 13:02
jonathan, ^
pmichaud I don't think rakudo understands list assignment yet 13:04
and I'm not sure that hash knows how to be assigned a list
or, in this case, a Pair
cognominal not for hashes
pmichaud I still need to apply the patch that adds the hash composer, but the code needs to be cleaned up a bit 13:05
(it doesn't follow any recognizable coding standard)
cognominal what I need to do to comply?
Zaba so the code it segfaults in will be changed anyway?
pmichaud consistent indentation, primarily
cognominal oh 13:06
Zaba : problemes is the list operator when using with 0 and 1 operands
I have filed a bug
Zaba okay.
pmichaud s/list operator/list context 13:07
in my %hash = ( foo => 'bar' ); there is no "list operator" :-)
cognominal I meant the coma operator
jonathan pmichaud: fatarrow doesn't work because it doesn't parse to item assignment...
So the RHS of the => swallows up everything, and if there's commas, it makes a list.
Zaba I suppose that's wrong?
pmichaud jonathan: okay, makes sense 13:08
is it correct in STD.pm ?
jonathan It's not an issue, in theory, if you're just having one element.
pmichaud: STD.pm is correct, but we can't do what it does yet, I don't think.
I left a comment in the grammar.
Saying what it should be.
Zaba why can't STD.pm be used?..
pmichaud we can do it with a custom parse routine 13:09
Zaba: there isn't anything that can execute STD.pm yet
Zaba oh... right
pmichaud STD.pm uses constructs that we haven't implemented (and aren't likely to implement until the summer sometime)
13:09 askie joined
Zaba pmichaud, like which? 13:10
pmichaud proto regexes, primarily
Zaba I see
13:11 gryphon joined
Zaba what is used for character classes in perl6 regexes? 13:12
pmichaud enumerated character classes? <[aeiou]>
cognominal pmichaud, do you know how to fix the namespace for named rules in grammar?
Zaba oh, makes sense
pmichaud cognominal: I don't understand the question
cognominal grammar A { token a { } } ; # the pir code generated has an empty namespace insead of A 13:13
pmichaud have to pass a 'grammar' option to the PGE rule that compiles the token 13:14
cognominal you mean that the change does not involve PGE but the way it is called? 13:15
pmichaud correct.
purl no, it's not!
pmichaud so I should rephrase it as "have to pass a 'grammar' option to the PGE::Perl6Regex compiler"
I think I toyed with the idea of changing the option name to 'namespace' instead, for consistency with other components 13:16
nopaste "cognominal" at 82.67.232.89 pasted "hash composer" (96 lines) at nopaste.snit.ch/12813
cognominal is that better? 13:17
pmichaud a little. still doesn't completely line up (at the bottom)
cognominal arf 13:18
pmichaud need quotes around 'Iterator'
cognominal is there a tool to check it complies?
pmichaud there might be a pir coding stds test
might look in t/codingstd/
in many cases I think it would be better to use the Perl 6 functions rather than the Parrot opcodes, though 13:20
thus, 'die'(errstr) instead of die errstr 13:21
and the equivalent of Hash.new() instead of $P0 = new 'Hash'
cognominal indeed. 13:22
particle there's no pir codingstd test yet
ambs All tests successful
purl Guess your work here is done, ambs. Your notice of intestination will arrive shortly.
pmichaud particle++ # thanks 13:23
particle i really wanna write a hlltidy based on parse trees generated by pct, and written in nqp
but nqp might not be good enough
jonathan particle: Write it in Rakudo. ;-)
Zaba what is hll?
purl i heard hll was High Level Language
cognominal how far rakudo is from compiling itself? 13:24
particle jonathan: could do. suppose it'd be a good test
*very*
far, that is.
pmichaud depends on what one means by "compiling itself"
Zaba umm, rakudo isn't written in perl6, is it?
particle many parts of it are
jonathan Well, not really...rakudo can already do everything NQP can, almost?
pmichaud the grammar and actions for rakudo are written in Perl 6
there there are some support functions and runtime builtins that are written in PIR 13:25
Rakudo doesn't have an equivalent of NQP's PIR q<...>;
cognominal here-document is missing too. 13:26
Zaba pmichaud, is it possible to write all builtins in perl6?
pmichaud Zaba: my theory is no
Zaba: if you can tell me how to write infix:+ in Perl 6, then maybe.
13:26 rdice joined
Zaba pmichaud, well, maybe some are? 13:27
pmichaud sure, I think that many are. That's a definite goal for us.
But lots of them aren't.
Zaba for example, say can be implemented through print..
pmichaud Even something like 'substr' seems like it would be difficult to write in Perl 6
Zaba pmichaud, even with regexes? 13:28
pmichaud zaba: well, here's a canonical example
just a sec, nopasting
13:29 gryphon joined
nopaste "pmichaud" at 76.183.97.54 pasted "code for 'substr' in PIR" (16 lines) at nopaste.snit.ch/12815 13:29
pmichaud so, if there's a Perl 6 version that can be written more understandably and efficiently than that, we could use it. 13:30
but I'm doubtful.
Zaba hmm 13:31
pmichaud and even the "new 'Perl6Str'" portion will go away soon
actually, it should go away now and be replaced with prefix:<~>
In any (efficient) language implementation, I think there are always some primitives that are written in some language other than itself 13:32
Zaba maybe.. 13:34
cognominal my modified hash composer works with item, array, hashes but still has a problem with pairs
pmichaud cognominal: fat arrow pairs, or all pairs ? 13:35
cognominal all pairs 13:36
> say :a.perl
Segmentation fault
purl (Core dumped)
cognominal ouch
pmichaud :a.perl doesn't use the hash composer function, does it?
Zaba: anyway, things like substr and infix:+ are why I haven't been on a strong push to try to get "every builtin written in Perl 6". For some builtins, that's actually more work (and less efficient) than just writing the PIR. 13:37
Zaba hmm 13:38
cognominal no
pmichaud that said, it would be very interesting to see someone come up with a pure Perl 6 definition of every builtin. :-)
cognominal and it will oblige us to optimize the compiler to avoid deal with pads everywhere 13:39
jonathan cognominal: Having seen the backtrace for the pairs issue, can kinda see what's going on. 13:41
particle src\\gc\\dod.c(338) : warning C4098: 'pobject_lives' : 'void' function returning a value 13:42
jonathan Might do us well to just write a Pair class ourselve though. And not use the Parrot PMC. It's not really what we want.
pmichaud Is there an important advantage to using Parrot's built-in Pair class?
jonathan Not that I can think of.
pmichaud I was a little surprised that we did that in the first place.
My plan was always to create a Pair class in PIR, if not Perl 6
particle who broke my gc? aargh. time to go hunting. 13:43
cognominal say :a.value crashed too
13:43 mj41 joined
pmichaud I'm strongly in favor of ripping Parrot's Pair PMC out of Rakudo entirely 13:43
jonathan pmichaud: Do it.
Zaba brb
jonathan Or let someone beat you to it.
pmichaud (for that matter, I'm strongly in favor of ripping Parrot's Pair PMC out of Parrot entirely, but that's a different call) 13:44
jonathan :-)
particle agrees with pmichaud
pmichaud I'm travelling to a conference for the weekend, so I won't get to it until early next week
at least, I doubt I'll get to it until Sunday at the earliest.
cognominal thx anyway for commenting my code.
I need feddback to make progress 13:45
pmichaud I am eager to apply the hash composer patch, because it will help us out in a lot of areas
cognominal I can't test if for pairs now
pmichaud I might just apply it and add comments about things I think need to be changed
13:46 jan joined
nopaste "cognominal" at 82.67.232.89 pasted "hash composer" (97 lines) at nopaste.snit.ch/12817 13:46
cognominal yes please
pmichaud I think the hash composer probably also wants a .param pmc pairs :slurpy :named argument
particle fixes a poorly placed #endif and recompiles 13:47
cognominal jonathan: I tried to fix my @a = [ 1 ]. I expected +$<statement> to give me the length of the statement 13:48
pmichaud so that it can pick up hash(:a(5), :b, :!c) (assuming that's a valid way to pass pairs to the hash composer -- need to check synopses)
+$<statement> will return the numified value of $<statement>'s result object 13:49
cognominal how can I get to $<statements> length 13:50
pmichaud "length" isn't a valid concept in Perl 6. Do you mean "number of characters"?
cognominal I meant it the number of kids matches
pmichaud ah, number of elements
$<statements>.elems() 13:51
cognominal ho
pmichaud (I'm not sure that's implemented, but that's the correct way to do it)
could also do
13:51 Andy joined
pmichaud +@($<statement>) 13:51
(numify the array component of $<statement>) 13:52
I know that +@($<statement>) should work in NQP
have to do $job for a bit 13:53
dalek r27161 | particle++ | trunk:
: [gc] fix poorly placed '}' preventing compilation
diff: www.parrotvm.org/svn/parrot/revision?rev=27161
cognominal my @a = [ 1 ] and my @a = ( 1) are supposed to be the same thing? 13:54
particle jonathan: any progress with tapx? 13:55
cognominal tapx?
ambs tcl failing
t/cmd_lsort.t 1 256 21 0 ??
1 subtest skipped.
particle ambs: known, iirc. coke? 13:56
cognominal: TAP::Parser, Test::Harness 3.x
ambs particle, good
particle we've really got to improve our spectest failure reports
jonathan particle: Not had chance to look yet, sorry. 13:57
Coke technically, it passed all the tests. =-)
it's the inferior runloop problem.
(I'm throwing an exception from PIR through C back into PIR)
particle cognominal: i asked AndyA to give us some love from those modules. in tapx's svn repo (svn.hexten.net/tapx/trunk) he added an option allowing us to ignore the exit code from the test files 13:58
using that enables us to mark as passing those fudged tests which pass
(as all fudged tests return exit code 1 atm)
however, i wonder if there's a better way to mark which test files have been fudged 13:59
perhaps their file extension is enough
Tene Mmm... new laptop... can't wait to compile parrot on it. 14:04
particle tene: what kind? i got my t61 tuedsay. 14:08
Tene t61p 14:12
pmichaud what's the reason for fudged test returning exit code 1 ? 14:14
particle that's nvidia gfx, right?
pmichaud: to distinguish it from non-fudged tests
Tene yeah, nvidia gfx
particle i got internal gfx to save battery
pmichaud particle: seems like that should be a command-line option to *fudge* then, not to the harness
i.e., we should be able to tell fudge "don't report fudged tests as failing"
particle pmichaud: that's just what i was thinking about
Tene I considered that, but I like having this many pixels. 14:15
I'm thinking about getting the ultrabay battery, though.
pmichaud the default invocation can return a failing code -- that makes sense. But if someone passes an option to fudge saying "pass fudged tests", then I think that's in the realm of "all's fair if you predeclare"
particle pmichaud: is there a mode into which i can put pge so it will capture whitespace?
pmichaud: i'll code it up
pmichaud particle: I think you're asking for :keepall 14:16
particle is that implemented?
pmichaud (PGE doesn't implement :keepall yet)
particle didn't think so.
pmichaud but I think that's what you're asking for. :-)
particle ok.
yes, i think so, too.
really, i just want :keep(<ws>)
pmichaud essentially it says to go ahead and capture non-capturing subrules
particle or whatever
pmichaud what about <ws> that might occur inside of some other non-captured subrule? 14:17
particle iunno. probably that too
anyway, i can deal without any of it.
however, i'd like to know what's best to use to manipulate the parse tree... nqp or tge 14:18
pmichaud yes. The start positions for each parse node are there, though, so you could infer the <ws> from that. 14:19
particle yes, kinda
\\n is lost
pmichaud personally, I'd use nqp, but only because I'm more familiar with it
...\\n is lost?
particle \\r\\n
pmichaud not really
particle darn it. 14:20
i really need to finish that yaml dumper
pmichaud if you just keep the original source string around (and it's there, in the match nodes themselves), then you can easily use the positions to see the whitespace 14:21
14:28 rdice joined 14:32 apple-gunkies joined, turrepurre joined 14:37 wknight8111 joined
Coke particle: (yaml dumper) I was expecting an email or something some time ago with what you thought you had left. 14:37
particle ah, right. 14:38
Coke even if I don't get to it, open a ticket or something with the remaining tasks. 14:39
particle what's the syntax for patch? patch -p0 . <file.patch ?? 14:40
pmichaud patch -p0 <file.patch 14:41
assuming that the paths in file.patch correspond to the current directory
particle doesn't seem to be working here. hrmm.
yep
PerlJam try -p1
pmichaud if the paths are a/languages/perl6/... and b/languages/perl6/... then use -p1 14:42
if the paths are languages/perl6/... in both cases then use -p0
(-p indicates the number of directory prefixes to strip before applying the patch)
particle used the visual patch util since cmdline wasn't working 14:52
jonathan has had some windows patch programs getting horribly confused over line endings before now 14:55
15:15 mire joined, Theory joined 15:25 ambs joined
ambs purl, squaak? 15:31
purl wish i knew, ambs
particle squaak is languages/squaak or the language in kj's tutorial at parrotblog.org 15:33
squaak?
purl it has been said that squaak is languages/squaak or the language in kj's tutorial at parrotblog.org
ambs particle, that didn't help much 15:34
particle what are you looking for?
ambs what kind of language? Just another strange one? :)
pmichaud squaak is also svn.perl.rog/parrot/trunk/languages/squaak/
purl okay, pmichaud.
wknight8111 it's based on Lua, if i recall
particle i have no idea, i haven't read the tutorial
pmichaud iwbni squaak had a README file there 15:35
Infinoid squaak?
purl i think squaak is languages/squaak or the language in kj's tutorial at parrotblog.org or svn.perl.rog/parrot/trunk/languages/squaak/
pmichaud and the README could point to the current tutorial location, whatever it is
wknight8111 but it's a toy language, used for demonstration only
ambs wknight8111, ok, that was what I was looking for
Infinoid no, squaak is languages/squaak or the language in kj's tutorial at parrotblog.org or svn.perl.org/parrot/trunk/languages/squaak/
purl okay, Infinoid.
pmichaud maybe I'll grab a README from the parrotblog text
Infinoid (fix typo in perl.rog :))
pmichaud Infinoid: thanks
my fingers aren't in the irght place thsi morning
Infinoid strangely, I type better when I haven't really woken up yet 15:36
ambs :D
compiling parrot makes my mbp hot 15:37
particle hopes nobody added the hcf op to parrot's mac compile 15:38
hcf?
purl hcf is halt and catch fire or (: foldoc hcf) or en.wikipedia.org/wiki/Halt_and_Catch_Fire
ambs :D
particle hcf is also an experimental parrot opcode 15:39
purl okay, particle.
ambs mbp is landing 15:40
Usual test failing on mac 15:51
t/examples/library.t (Wstat: 256 Tests: 4 Failed: 1)
Failed test: 3
pmichaud++ # readme for squaak 15:52
dalek r27162 | coke++ | trunk: 15:55
: [codingstd]
: update to new ops syntax to avoid generating code that will never
: be executed.
diff: www.parrotvm.org/svn/parrot/revision?rev=27162
16:17 iblechbot joined 16:33 mire joined 16:34 particl1 joined
ambs l8r 16:55
Tene svn co parrot 17:02
pmichaud (squaak readme) note that all I did was write the message to the list -- I didn't add it to the repo yet. Hopefully someone else can do that, since I'm kinda pre-occupied today. 17:03
Debolaz Tene: You can also git clo it now. :-) 17:04
(Read-only of course)
Tene Debolaz: I usually use git-svn, actually.
real\t0m55.664s
user\t1m23.690s
sys\t0m12.970s
for make -j 3
particl1 needs to partition his hdd and install hearty 17:05
Zaba hearty? 17:06
Tene new ubuntu release
particle yep, came out yesterday
hearty heron
Debolaz needs a perl6 based project to play with.. A small web framework perhaps. 17:07
Does rakudo support sockets?
Tene Not yet, I think
particle no, just $*IN, $*OUT, $*ERR
Debolaz :~(
particle .open, .readline
Debolaz Yeah, readline was the result of my nagging. :-) 17:08
Zaba is it standard?
particle keep nagging!
pmichaud "hardy"
installed the new release last night :-)
Zaba doesn't use ubuntu 17:09
pmichaud kubuntu, here
Zaba doesn't use .*ubuntu
:>
Tene rakudo is real 0m36s 17:10
particle er, right. hardy. 17:15
17:15 davidfetter joined
particle tene: you get 2.6GHz? 17:15
Tene particle: 2.5 17:20
particle i'm faster :P 17:21
Coke Our compiler warnings should probably follow the same path as our codingstd warnings: only enable those we expect to pass, and have everything else be checked if you verbosely ask for it (in this case with --cage at the config step) - then once something passes we can move it from --cage to the default. make sense?
Tene particle: how much ram?
particle 4GB
Tene Same. HD?
pmichaud coke: makes sense to me
particle 200GB 7200kps
coke: we're already doing that, no? 17:22
msvc compiles with warnings at the highest level below 'all'
Coke particle: ISTR I'm getting build warnings, and cannot remember the last time I saw something move from --cage to teh default. 17:23
(which may be cause none were fixed)
particle i haven't seen any new warnings flags added lately.
likely your warnings are due to new code
Coke define "new" 17:24
since the last time someone touched the warnings flags?
yah, default build on feather has warnings.
Zaba feather? 17:26
purl feather is probably feather.perl6.nl/ or a perl6 community development server
Zaba oh.
nopaste "coke" at 72.228.52.192 pasted "warnings from build on feather." (28 lines) at nopaste.snit.ch/12818
particle yes, coke. chromatic has been playing with jit code in the past week 17:28
...or two.
Coke those are not warnings from the last week. =-) 17:29
particle has had build warnings for 5 years
Coke ... nevermind.
particle those are good warnings, from what i can see
the code should be fixed
pmichaud particle: I agree, but coke is saying that short of fixing them (which seems to be taking a long time), they should appear only in response to a --cage flag 17:32
otherwise we're in the habit of not looking at warnings at all, and never see when new warnings appear
(because the new ones get drowned out by the existing ones)
particle i guess i missed that part. 17:33
pmichaud it took me a second read to completely understand it as well 17:34
particle compile a list of known files with known warnings, and disable them in the regular build?
we do have a CFLAGS file
similar to that
pmichaud particle: something like that, yes. But keep the regular build as free of warnings as we can, and use --cage to do a more rigorous test for warnings
much like we have some tests in codingstds that aren't run by default 17:35
when specific warning conditions are cleared, they can be moved from --cage to the default
particle iirc there is a --cage build or configure flag
maybe i'm wrong
i think i'm getting confused with the splint work andy was doing with ptc 17:37
cognominal pct? 17:41
purl it has been said that pct is a good solution, but heavyweight or the Parrot Compiler Toolkit
cognominal ptc?
purl ptc is paul t cochrane or mailto:paultcochrane@gmail.com
particle svn st 17:43
Infinoid splint is a pain
particle grr
Coke there. opened two tickets which cover the majority of the extant warnings I see.
dalek r27163 | particle++ | trunk: 17:44
: [rakudo] ws and formatting fixups in actions.pm
diff: www.parrotvm.org/svn/parrot/revision?rev=27163
particle rakudo's action file has way too many subs over 50 lines 17:45
many are ~150
17:46 contingencyplan joined
Infinoid is that a codingstd issue? 17:48
particle we don't have coding standards for perl 6 code yet :) 17:49
it's certainly a maintenance issue
Infinoid yes... I was just wondering if we had standards yet :)
particle mccabe complexity is way too high
Coke I don't think file size is necessarily an indicator of complexity. 17:50
particle: are you referring to "cyclomatic complexity" ?
particle yep 17:51
coke: subroutine size is an indicator. it's strongly correllated 17:52
but, these are complex subs, with many nested if/else
Coke but that's not a function of *file size*.
that's a function of subroutine size.
neh?
particle what did i say about file size? 17:53
Coke ... nothing, apparently. whoops.
particle :)
Coke opens a final ticket for the remaining current warnings. 17:56
particle coke++
18:27 sjansen joined 18:36 b2gills joined 18:37 Ivatar joined
Debolaz Gah, not being able to write Foo.bar ("argument"); is weird. 18:45
particle try Foo.bar\\ ("argument");
Debolaz Still weird. :-) 18:46
18:46 ambs joined
Debolaz But since I don't have to enclose if, while, etc, in () anymore, I guess I can get used to hugging the ()'s on method calls. 18:47
particle thinks putting spaces between the method and the params is weird
Debolaz I used to do it, since I wanted if () and function () to look the same. Ie, my brain parses if as a type of function even though I am aware it isn't. 18:48
18:48 teknomunk joined 18:59 particl1 joined
ambs particl*: added the signature you requested :) 19:02
particl1 thanks!
TimToady cultural sensitivity is the new cultural imperialism 19:05
perl 6's whitespace rules are a form of cultural imperialism that enforces cultural sensitivity :)
particle long live the king!
pmichaud TimToady: btw, if you haven't received it yet, my package should be arriving today or tomorrow
TimToady 'kay 19:06
pmichaud inside is a postage return label -- I think you will be able to reuse the box
TimToady probably can't return it till Tue at the earliest, depending on how my tests Monday go
pmichaud that's fine
Debolaz Is there a way to get coercion for arguments in perl6 similar to how the Moose type system does it? 19:10
And I suppose even more important: Is it implemented if so? 19:11
TimToady Debolaz: given that Moose is based on the p6 OO design, I'd like to know where it diverges... 19:21
and whether those divergences are just making up for having to run on p5... 19:22
Debolaz Well, what I'm specifically looking for is this: search.cpan.org/~stevan/Moose-0.40/...ecipe5.pod 19:24
shorten Debolaz's url is at xrl.us/bjtqd
Debolaz I'm looking through the p6 synopsis, but can't really find anything similar..
So I was hoping for some pointers in the right direction. 19:25
19:25 jan joined
particle port Params::Coerce to perl 6? 19:26
;)
Debolaz particle: Ie, I'm not crazy or just reading the wrong documents, there really is nothing directly equivalent for p6? It's not a disaster, I'd just like to know that I'm not missing something obvious.. :) 19:27
19:30 barney joined
particle *almost* has fudge* and rakudo test code reporting errors how we want them 19:33
Tene particle++ 19:38
PerlJam particle++
TimToady you want them to report errors as "passed" don't you? :) 19:41
PerlJam Debolaz: are you saying that you think perl 6 doesn't do type coercion? I seem to recall that it does if you specify the appropriate transformation routines (otherwise how would you coerce a Dog into a String?) 19:44
TimToady Debolaz: looks to me like it's mostly just trying to make up for a lack of MMD in p5
Debolaz Multi method dispatching is something I hate with a passion. 19:45
TimToady are there also any rational reasons?
Debolaz Well, I just feel it's very unelegant. It works, but it has always just screamed "workaround for lack of elegant solutions" to me. 19:46
TimToady I think that, by definition, the least inelegant solution is elegant. :)
19:47 Zaba_ joined
Debolaz class Foo; coerce from Bar with $bar -> { Foo.new($bar) }; method something (Foo $a is coercible) {}; # Something like this would be more elegant imho. 19:47
The method is no longer required to deeply understand how Foo is constructed, and there doesn't need to be 10+ multimethods for every real method that wants to use coercible parameters. 19:49
PerlJam: I'm not saying I think that, I'm asking. 19:50
TimToady this can probably be solved with "does Coercible" or some such
19:50 ambs joined
TimToady in any case, the fact that there is a set of types that should be coercible probably means you haven't factored the roles right yet. 19:51
mmd with roles is a much different beast than mmd with classes 19:52
dalek r27164 | particle++ | trunk: 19:53
: [rakudo] generalize command-line argument processing in the test harness
diff: www.parrotvm.org/svn/parrot/revision?rev=27164
Debolaz TimToady: Are there any specific examples I can look at? Keep in mind, my background is primarily with Moose, p6 is relatively new to me. :) 19:54
TimToady: Because this doesn't really make sense in my head, it reads to me that you recommend requiring a specific interface (As defined by the role) instead of a specific class, but what I want is to handle arguments which does not support the required interface at all. 19:56
PerlJam Debolaz: if you keep watching Jonathan Worthington, he's adding oop stuff to rakudo :)
Debolaz TimToady: I may be reading you very wrong here, which is why I'm looking for examples.
dalek r27165 | particle++ | trunk: 19:57
: [rakudo] "improve" test failure reporting
: ~ add new --keep-exit-code option to fudge in the spectest target
: ~ this makes passing fudged tests report that they pass, instead of fail
: ~ also added note that eventually this option must be ripped out
diff: www.parrotvm.org/svn/parrot/revision?rev=27165
particle ok, as of r27165, passing fudged test files are reported as passing in rakudo. 19:58
Coke even if they fail? awesome! <duck>
Coke has trouble reading particle's sends today, and keeps up the trend.
particle :)
PerlJam Debolaz: Could you give an example? Because it keeps sounding to me like you're expecting a Dog to transform into a Cat without either having knowledge of the other.
Coke why are you frowning!
particle :P 19:59
Debolaz PerlJam: In the example I used, The class Dog knows how to construct a Dog object from a Cat object. 20:00
particle prefers a more real-world example 20:02
like, say, coercing a Date object from a String
Debolaz particle: Or a HTTP::Request object from an url string. 20:03
particle there ya go.
Debolaz However, that makes it more difficult to understand why mmd seems like such a horrible solution to me, so I tried to make the example less tied to one particular situation. 20:04
PerlJam Debolaz: yet single dispatch is fine? 20:05
Debolaz PerlJam: ...?
purl Yada yada yada hasn't been implemented yet!
dalek r27166 | bernhard++ | trunk:
: Remove lib/Digest/Perl/MD5.pm.
: There is Digest::MD5 in core of Perl 5.
diff: www.parrotvm.org/svn/parrot/revision?rev=27166
Debolaz PerlJam: It's not at all implied what the problem is in that statement... 20:06
barney Is there a ~~ op in Perl 5 ? Encountered in RT#53362 20:35
Tene 5.10 20:36
barney Ah, smart match
ambs :)
Coke barney: do we need lib/Pod/Simple.pod ? 20:41
or lib/Pod/Simple/*.pod ?
(... or Pod::Simple... yah, yah, I know it's not core in 5.8)
dalek r27167 | bernhard++ | trunk: 20:43
: #53362: [NEW] Add a test for the sysinfo op.
: Courtesy of Brad Gilbert
diff: www.parrotvm.org/svn/parrot/revision?rev=27167
barney It's used in a couple of places, and in Perl 5 core only since Perl 5.9.3 20:47
Coke right. my initial quesiton was regarding the .pod files we appear to have included when we sucked it in.
barney Ah. Let's get rid of it. 20:48
spinclad (re squaak): huh. here i was thinking it was a toy impl of squeak. (which would be cool too) 20:55
cotto_work that seems to be a common misconception 20:58
cognominal > sub hi { say "hi" }; hi 21:02
ResizablePMCArray: Can't shift from an empty array!
> sub hi { say "hi" }; hi()
invoke() not implemented in class 'Perl6Str'
> sub hi { say( "hi") }; hi()
hi
purl hi, cognominal.
cognominal comments?
purl Butt out. I'll repeat that sentiment stronger if you haven't figured out the message yet.
cognominal dealing with bots is even more hopeless tan dealing with code 21:03
dalek r27168 | bernhard++ | trunk: 21:04
: Get rid of unneeded *.pod files in lib/Pod.
: coke++ for suggesting this.
diff: www.parrotvm.org/svn/parrot/revision?rev=27168
Coke thanks, barney. 21:12
ambs Coke, did you see my email? 21:14
:)
Coke yes. was trying to determine a reply. Only folks I know in .eu are smash and leo 21:17
both of whom haven't done much recent hacking.
I'll go if you fly me out. ^_^
Infinoid does .uk count as .eu?
dalek r27169 | kjs++ | trunk:
: [squaak] add readme file. fix my name in maintainer file. update manifest.
diff: www.parrotvm.org/svn/parrot/revision?rev=27169 21:18
r27170 | kjs++ | trunk: 21:19
: [squaak] add svn:mime-type property to file.
diff: www.parrotvm.org/svn/parrot/revision?rev=27170
ambs Coke, hehehe. Smash will be there, of course 21:20
Infinoid, doesn't it?
Coke ambs: he doesn't know what your original question was. 21:22
ambs Coke, I know :D
Coke *thwap*
in any case, your best bet is probably to just ask on list. 21:23
ambs yes, probably
purl Really? Probably? Are you Certain it's not certain? Are you sure it's unsure? I think you need to look harder.
ambs slaps purl
purl o/` Hit me baby, one more time o/`
Coke coke is also just a figurehead.
purl okay, Coke.
Infinoid ambs: if so, I'm pretty sure jonathan counts too, I think he's in .uk :)
(I could be wrong about that.) 21:24
particle jonathan is in spain, moving to slovakia 21:25
ambs spain? nice :D
I can always ask him to get to Portugal before :)
Coke jonathan has some commitment problems. =-) 21:26
ambs coughs
Coke about his place of residence. :P
ambs :D 21:27
dalek r27171 | kjs++ | trunk:
: [squaak] add a note to readme file about squaak not being Squeak. 21:28
diff: www.parrotvm.org/svn/parrot/revision?rev=27171
Coke seen merlyn 21:29
purl merlyn was last seen on #moose 35 days and 23 hours ago, saying: ... methodsandmessages.vox.com/library/...ltalk.html [Mar 20 15:09:20 2008]
Coke yapc? 21:30
yapc::na?
purl it has been said that yapc::na is June 16-18 at IIT in Chicago (again! bring your blankets!) or
Coke yapc::na is also Coke
purl okay, Coke.
particle going to yapc::na?
purl going to yapc::na is sungo
particle going to yapc::na is also particle
purl okay, particle.
Coke going to yapc::na is also Coke 21:31
21:31 Andy joined
purl okay, Coke. 21:31
Coke no, yapc::na is June 16-18 at IIT in Chicago (again! bring your blankets!)
purl okay, Coke.
ambs yapc::eu? 21:32
purl somebody said yapc::eu was see YAPC::Europe
ambs yapc::Europe?
purl yapc::Europe is Copenhagen, Denmark - 13-15AUG08 and www.yapceurope2008.org/ye2008/
ambs purl, ptpw?
purl wish i knew, ambs
ambs purl, PtPW is the Portuguese Perl Workshop (6-7 June, 2008)
purl OK, ambs.
cotto_work going to yapc::na is also cotto 21:33
ambs damn Pittsburg for stealing PPW.
purl okay, cotto_work.
ambs going to yapc::europe?
purl going to yapc::europe is (: going to YAPC::EU 2007)
ambs goint to yapc::eu 2008
going to yapc::eu 2008?
purl, going to yapc::eu 2008?
purl ambs: bugger all, i dunno
ambs d'uh
purl, going to yapc::eu 2008 is ambs, smash 21:34
purl OK, ambs.
Coke no going to yapc::europe is See: going to yapc::eu 2008 21:38
no, going to yapc::europe is See: going to yapc::eu 2008 21:39
purl okay, Coke.
Coke whee.
ambs Coke, thanks
21:42 skids joined
ambs and, night, folks 21:54
21:55 tewk joined 22:14 grim_fandango joined 22:16 AndyA_ joined 22:56 tetragon joined 23:10 japhb joined