Re: AW: AW: AW: AW: nag Exegesis 2
Murat Ünalan wrote: Then i could pray to the god of the camel herdsman, that my DNA human size(4) ($alpha, $beta, $gamma, $delta) = ('atgc', 'ctga', 'aatt', 'ccaa'); may be activated through perl6 custom parser options 8-) *Any* consistent syntax may be activated through perl6 custom parser options. Whether it *should* be is, of course, another matter entirely. ;-) I have a german background. BTW, I wasn't criticizing your English. Someone who's German is as poor as mine doesn't have the right. ;-) But my litte english-vs-perl6 example sounds not so odd to me (what doesn't mean to much): my aged uncles ( john, james, jim, tony ) are ( 102, 99,88, 79 ) That's perfect English. But not necessarily good programming language design. Thanks for your patience with me, It's not a matter of patience. You raise important issues (which I very much appreciate), and it's my job -- and my desire -- to address them. Damian
AW: AW: AW: nag Exegesis 2
And that shows precisely why Perl 6 does it the other way. Prepending extended properties like that makes the declaration almost unreadable. Because it separates the I shoot in my own foot. My example was extremly bad. Give me a better try: (1) my size(4), human DNA ($alpha, $beta, $gamma, $delta ) = ( 'atgc', 'ctga', 'aatt', 'ccaa' ); is so perfect, vs (2) my DNA ($alpha, $beta, $gamma, $delta) is human, size(4) = ( 'atgc', 'ctga', 'aatt', 'ccaa' ); which is so prone to overlook the eucaryotic property during i.e. debugging hassle. Why do code beautify (2) when (1) so crystal clear without it. And (1) is so close to natural language. BTW: are multiple properties separated with ',' ? This was my last try, promise! Murat
Re: AW: AW: AW: nag Exegesis 2
Murat Ünalan wrote: And that shows precisely why Perl 6 does it the other way. Prepending extended properties like that makes the declaration almost unreadable. Because it separates the I shoot in my own foot. My example was extremly bad. Give me a better try: (1) my size(4), human DNA ($alpha, $beta, $gamma, $delta ) = ( 'atgc', 'ctga', 'aatt', 'ccaa' ); is so perfect, vs (2) my DNA ($alpha, $beta, $gamma, $delta) is human, size(4) = ( 'atgc', 'ctga', 'aatt', 'ccaa' ); which is so prone to overlook the eucaryotic property during i.e. debugging hassle. Why do code beautify (2) when (1) so crystal clear without it. Because (1) *isn't* crystal clear. At least, not to me. And certainly not as readable as: my DNA ($alpha, $beta, $gamma, $delta) is human size(4) = ('atgc', 'ctga', 'aatt', 'ccaa'); or as useful as: my DNA %sequence is human size(4) = (alpha = 'atgc', beta = 'ctga', gamma = 'aatt', delta = 'ccaa'_; And (1) is so close to natural language. Perhaps to *your* natural language, but not to mine. :-) And that's what it may come down to. Perhaps we just have to agree to disagree on this question. You're not convincing me at all, and I'm obviously not convincing you either. BTW: are multiple properties separated with ',' ? No. Whitespace or an Cis. Damian
Re: AW: AW: AW: nag Exegesis 2
(1) my size(4), human DNA ($alpha, $beta, $gamma, $delta ) = ( 'atgc', 'ctga', 'aatt', 'ccaa' ); is so perfect, vs (2) my DNA ($alpha, $beta, $gamma, $delta) is human, size(4) = ( 'atgc', 'ctga', 'aatt', 'ccaa' ); If I were concerned about this, I would either do it the way Damian suggests my DNA ($alpha, $beta, $gamma, $delta) is human size(4) = ('atgc', 'ctga', 'aatt', 'ccaa'); Or I would just make it two lines: my DNA ($alpha, $beta, $gamma, $delta) is human size(4); ($alpha, $beta, $gamma, $delta) = ('atgc', 'ctga', 'aatt', 'ccaa'); And then expect the compiler to do precisely the same thing. The benefit I find in the second case is that I can now move it somewhere else and have separate declarations and initializations. the example in (1) looks like it's beind declared as a size(4) , with human and DNA being somehow modifiers on size(4) (admittedly, if it were the stated style, people would be expected to understand it, but it would still be counterintuitive, IMO) --attriel