Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Regex query
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  Messages 76 - 91 of 91 - Collapse all  -  Translate all to Translated (View all originals) < Older 
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Trey Harris  
View profile  
 More options Sep 24 2002, 11:48 am
Newsgroups: perl.perl6.language
From: t...@sage.org (Trey Harris)
Date: Tue, 24 Sep 2002 11:45:15 -0400 (EDT)
Local: Tues, Sep 24 2002 11:45 am
Subject: Re: Regex query
In a message dated 24 Sep 2002, Aaron Sherman writes:

> That doesn't really work. Because now you introduce the case where:

>    $x = (1,2,3);
>    @y = (1,2,3);
>    $z = [1,2,3];
>    push @a, $x, @y, $z, (1,2,3), [1,2,3];

> Behaves in ways that will take hours to explain to newbies, and I assure
> you it ain't WIM. Not even a little bit.

Hmm.  What *I* would mean, anyway, would be that @a gets pushed nine
elements: ([1,2,3], 1, 2, 3, [1,2,3], 1, 2, 3, [1,2,3]).  And that works
under my proposal.  But I may have an idiosyncratic idea of WIM. :-)

But I think Dan's right.  I think we should just let this drop for now,
let Larry take a look at the mess we've gotten ourselves into, and let him
decide whether he needs to Rule-2 something or not.

Trey


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jonathan Scott Duff  
View profile  
 More options Sep 24 2002, 12:48 pm
Newsgroups: perl.perl6.language
From: d...@cbi.tamucc.edu (Jonathan Scott Duff)
Date: Tue, 24 Sep 2002 11:06:57 -0500
Local: Tues, Sep 24 2002 12:06 pm
Subject: Re: Regex query

On Tue, Sep 24, 2002 at 11:14:04AM -0400, Aaron Sherman wrote:
> Again, we're wading into the waters of over-simplification. Let's try:

>         sub foo1(){ my @foo=(1,2,3); return @foo; }
>         sub foo2(){ my $foo = [1,2,3]; return $foo; }
>         sub foo3(*@list) { print @list.length, "\n"; }
>         @foo = (1,2,3);
>         foo3(@foo, [1,2,3], foo2(), foo1());

> Ok, so what is the output? 12? 10? 8?

> More importantly, why? I could argue the case for each of the above
> numbers, but I think 12 is the way it would be right now.

Hrm.  I think it must be 8.  Since foo3() flattens it's parameters, we
get this:

        foo3(1, 2, 3, [1,2,3], [1,2,3], 1, 2, 3);

and since the two [1,2,3] are scalar things, we have 8 scalar things
in our list.  Splat doesn't "look inside" the thing it flattens AFAIK,
so it doesn't flatten the two [1,2,3].

-Scott
--
Jonathan Scott Duff
d...@cbi.tamucc.edu


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Trey Harris  
View profile  
 More options Sep 24 2002, 12:48 pm
Newsgroups: perl.perl6.language
From: t...@sage.org (Trey Harris)
Date: Tue, 24 Sep 2002 12:14:10 -0400 (EDT)
Local: Tues, Sep 24 2002 12:14 pm
Subject: Re: Regex query
In a message dated Tue, 24 Sep 2002, Jonathan Scott Duff writes:

Yes, but would the lack of parens in

  foo3 @foo, [1,2,3], foo2, foo1;

change anything? (I think and hope not.)

Trey


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jonathan Scott Duff  
View profile  
 More options Sep 24 2002, 12:48 pm
Newsgroups: perl.perl6.language
From: d...@cbi.tamucc.edu (Jonathan Scott Duff)
Date: Tue, 24 Sep 2002 11:15:51 -0500
Local: Tues, Sep 24 2002 12:15 pm
Subject: Re: Regex query

Not from where I sit.

-Scott
--
Jonathan Scott Duff
d...@cbi.tamucc.edu


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
John Williams  
View profile  
 More options Sep 24 2002, 1:48 pm
Newsgroups: perl.perl6.language
From: willi...@morinda.com (John Williams)
Date: Tue, 24 Sep 2002 11:07:55 -0600 (MDT)
Local: Tues, Sep 24 2002 1:07 pm
Subject: Re: Regex query

> > In a message dated Tue, 24 Sep 2002, Chip Salzenberg writes:

> > > then what about

> > >    $a = (1)

> > > ?  And if someone says that I have to write:

> > >    $a = (1,)

> > > then I am going on the warpath.  That Way Lay Python.

You _can_ write that, but you don't _have_ to.  [1], @(1), list(1), or
maybe other things will work too.  But (1) is not enough in scalar
context.

On 24 Sep 2002, Aaron Sherman wrote:

Larry's comment about [1,2,3] being mnemonic because we use @a[1] to index
arrays was an excellent point.  Since [1,2,3] works for both $a = [] and
@a = [], maybe we should consider dropping the parenthesis instead of the
brackets.  (And I was the putz that first suggested that brackets might be
superfluous.)   Of course, that won't stop commas from creating lists.

> On Tue, 2002-09-24 at 11:07, Trey Harris wrote:
> >   push @a, (7,3,2);

> > would push the elements 7, 3 and 2 to the end of @a, but

> >   push @a, [7,3,2];

> > would push a single element containing the arrayref [7,3,2] onto the end
> > of @a.

From reading the apocalypses, I think Larry, et al, are aware of this, and
I fully expect the situation to be clarified when the next apocalypse
comes out.   Maybe we should have a pool for the release date? :)

> That doesn't really work. Because now you introduce the case where:

>    $x = (1,2,3);
>    @y = (1,2,3);
>    $z = [1,2,3];
>    push @a, $x, @y, $z, (1,2,3), [1,2,3];

> Behaves in ways that will take hours to explain to newbies, and I assure
> you it ain't WIM. Not even a little bit.

The parenthesis have no effect because they are only grouping.  So the
only question in my mind is whether @y gets flattened or is treated as a
single object.  In either case, we can clarify our meaning by writing *@y
to force flattening or \@y to prevent flattening.

~ John Williams


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "Paren madness (was Re: Regex query)" by David Whipp
David Whipp  
View profile  
 More options Sep 24 2002, 2:48 pm
Newsgroups: perl.perl6.language
From: david_wh...@fast-chip.com (David Whipp)
Date: Tue, 24 Sep 2002 11:47:16 -0700
Local: Tues, Sep 24 2002 2:47 pm
Subject: RE: Paren madness (was Re: Regex query)
It seems that the fundamental problem is the dichotomy between
a scalar, and a list of 1 elem. Thus, we want

  $a = 7

to DWIM, whether I mean a list, or a scalar. Seems to me that
the best way to solve a dichotomy is to declare it to not to
be one: a scalar *IS* a list of one element. The only thing
that needs to go is the inappropriate casting in numeric
context.

This leads to a second clarification, which has bothered me
wrt perl6: the purpose of sigils. If everything is an object,
and objects are $ things, then why have sigils? I think the
answer is that the sigil defines the default interface
("skin"?) on an object. So,

  $a = 7;
  @a = 7;

both create identical objects; but the interface to these
objects is different. so +$a == 7, while +@a is 1.

Next:

  $b = 7, 6, 5
  @b = 7, 6, 5

Again, both create identical objects, under different
interfaces. But now we have a problem with +$b: what should
this mean? To be consistant with +$a (above), I would
suggest that it simply returns the sum of its elements
(i.e. +(1,2,3) == 6).

Dave.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jonathan Scott Duff  
View profile  
 More options Sep 24 2002, 3:48 pm
Newsgroups: perl.perl6.language
From: d...@cbi.tamucc.edu (Jonathan Scott Duff)
Date: Tue, 24 Sep 2002 14:08:55 -0500
Local: Tues, Sep 24 2002 3:08 pm
Subject: Re: Paren madness (was Re: Regex query)

On Tue, Sep 24, 2002 at 11:47:16AM -0700, David Whipp wrote:
> It seems that the fundamental problem is the dichotomy between
> a scalar, and a list of 1 elem. Thus, we want

>   $a = 7

> to DWIM, whether I mean a list, or a scalar. Seems to me that
> the best way to solve a dichotomy is to declare it to not to
> be one: a scalar *IS* a list of one element. The only thing
> that needs to go is the inappropriate casting in numeric
> context.

So you're saying that +$a == 7 is inappropriate and it should be
+$a == 1?  (since lists in numeric context yield their length)

Or are you saying that lists in numeric context should NOT yield their
length but rather the programmer must type @a.length to get that?

> I think the
> answer is that the sigil defines the default interface
> ("skin"?) on an object. So,

>   $a = 7;
>   @a = 7;

> both create identical objects; but the interface to these
> objects is different. so +$a == 7, while +@a is 1.

Okay ...

> Next:

>   $b = 7, 6, 5
>   @b = 7, 6, 5

> Again, both create identical objects, under different
> interfaces. But now we have a problem with +$b: what should
> this mean? To be consistant with +$a (above), I would
> suggest that it simply returns the sum of its elements
> (i.e. +(1,2,3) == 6).

Makes no sense to me.

if $b and @b are identical objects then what kind of objects are they?
Are the commas list constructors?  If so, then why wouldn't +$b == 3?

        $a = 10; $b = 7,6,5;
        $c = $a + $b;           # what happens here?  Is $c == 28?

Anyway, this is most bizarre.  My little perl 5 brain can't intuit.

-Scott
--
Jonathan Scott Duff
d...@cbi.tamucc.edu


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Aaron Sherman  
View profile  
 More options Sep 24 2002, 3:48 pm
Newsgroups: perl.perl6.language
From: a...@ajs.com (Aaron Sherman)
Date: 24 Sep 2002 15:11:21 -0400
Local: Tues, Sep 24 2002 3:11 pm
Subject: RE: Paren madness (was Re: Regex query)

On Tue, 2002-09-24 at 14:47, David Whipp wrote:
> It seems that the fundamental problem is the dichotomy between
> a scalar, and a list of 1 elem. Thus, we want

After the first couple of messages, that was really no longer *my*
concern, but I can't speak for others. My concern was mostly that
parentheses and brackets are now doing exactly the same thing with some
very limited non-intersection around single-element lists. So my
question was: why would we want that? Why would anyone ever need to have
this in their code: C<(1,[2,(3,[4,(5,6),7],8),9],0xa)>.

But, I'm quite content to wait for Larry to get back and have a chance
to mull all of this over. He tends to have a very level head about these
things, and I imagine he'll have a point of view colored by some
concerns he has not yet put into writing.

For what it's worth, I once started working on a cut-down,
general-purpose-only version of Perl that I was calling Sand. The
interesting thing was that I made a lot of these same decisions, but I
went even further. There was no array or hash type at all. They could
only be manipulated by reference through anonymous structures or scalar
variables. I rat-holed on the topic of how to pass parameters without
throwing away the benefit of Perl's sloppy-list-based stack that was
always so useful. A lot of these "why do I need parens" and "how do you
explode a list when you want, but not when you don't" sorts of issues
kept coming up, and I just didn't have time to explore them.

Now that Perl 6 is starting to take shape, I may go back and finish Sand
as a Parrot front-end (though it was ultimately aimed at being purely
compiled like C).

--
Aaron Sherman <a...@ajs.com>


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Mike Lambert  
View profile  
 More options Sep 24 2002, 3:48 pm
Newsgroups: perl.perl6.language
From: pe...@jall.org (Mike Lambert)
Date: Tue, 24 Sep 2002 15:31:13 -0400 (EDT)
Local: Tues, Sep 24 2002 3:31 pm
Subject: Re: Paren madness (was Re: Regex query)

> 2.  Scalar assignment.

>     my $a;        # 1.
>     $a = X;

>     my $a;        # 3.
>     ($a) = X;

> These should all do the same thing, regardless of X.

Consider:
$a = (1);
and
($a) = (1);

> 5.  Assignment to arrays and lists.

>   $a = (1, 2, 3); # Same as Perl 5's $a = [1,2,3];

$a = (1) should then do $a = [1], according to the above.

This implies that:

($a) = (1) implies that $a is [1], something I don't particularly agree
with.

How would you resolve this contradiction you've created? (Or do you think
the last example is perfectly fine?)

What about:
$a = 1,2,3
($a) = (1,2,3)
$a = (1,2,3)
($a) = 1,2,3

Do you still believe those should be identical? They have the same
problems mentioned above, and likely other issues as well.

Mike Lambert


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Trey Harris  
View profile  
 More options Sep 24 2002, 3:48 pm
Newsgroups: perl.perl6.language
From: t...@sage.org (Trey Harris)
Date: Tue, 24 Sep 2002 15:39:35 -0400 (EDT)
Local: Tues, Sep 24 2002 3:39 pm
Subject: Re: Paren madness (was Re: Regex query)
In a message dated Tue, 24 Sep 2002, Mike Lambert writes:

> Consider:
> $a = (1);
> and
> ($a) = (1);

Yes?  They both do the same thing--set $a to 1.  It looks like the bottom
one is a list assigned to a list, but that might be optimized out, as it
doesn't matter.

> > 5.  Assignment to arrays and lists.

> >   $a = (1, 2, 3); # Same as Perl 5's $a = [1,2,3];

> $a = (1) should then do $a = [1], according to the above.

I most definitely did not write that.  Did you read my conclusion?
One-tuples are special and can't be created simply with round parens.

> This implies that:

> ($a) = (1) implies that $a is [1], something I don't particularly agree
> with.

Once again, did you read my conclusion?  One-tuples are special.

> How would you resolve this contradiction you've created? (Or do you think
> the last example is perfectly fine?)

No contradiction.  One-tuples are special.

> What about:
> $a = 1,2,3

I don't know.  I think Larry must adjudicate.

> ($a) = (1,2,3)

$a gets 1, I think.  Otherwise you can't do list assignment where you
throw away the trailing elements, which is a very common and useful thing
to do in Perl 5.  Losing that ability in Perl 6 would be a great loss.

> $a = (1,2,3)

By definition, according to Larry, $a is [1,2,3].

> ($a) = 1,2,3

Same as without the parens.  Larry must decide.

> Do you still believe those should be identical? They have the same
> problems mentioned above, and likely other issues as well.

Oh, wait, I think I see where you're going.  You didn't read the whole
thread to date before responding.  I later quoted my own text there and
said that arbitrary X was not what I meant.  I meant a single scalar item,
such as 7, but I changed it to X in an effort to be general without
considering what that meant.  My mistake.

Trey


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
David Whipp  
View profile  
 More options Sep 24 2002, 4:50 pm
Newsgroups: perl.perl6.language
From: david_wh...@fast-chip.com (David Whipp)
Date: Tue, 24 Sep 2002 13:39:01 -0700
Local: Tues, Sep 24 2002 4:39 pm
Subject: RE: Paren madness (was Re: Regex query)

$a and @a are not objects, they are variables. Variables provide
access to objects. $a and @a are different kinds of variables:
when you view an object though a $ variable, it DWIMs like a
scalar; when you view it through an @ variable, it DWIMs like
a list. In numeric context, a $ variable obtains its value via
a .NUMBER method. In the same context, an @ variable uses
the .LENGTH method

In both caes, the underlying object would have both .NUMBER and
..LENGTH methods. The only difference would be that the sigil
defines different mappings between the calling context, and the
method that returns the value.

And thinking about your example, above, the value of $a + $b
is probably 10; for the same reason as 3+"foo" is 3. If you're
using -w then, of course, you also get the warning that
"argument [7,6,5] is not numeric in add at ...".

As others have said, we need Larry to look at all the various
issues and proposals ... and then to chop the baby in half.

Dave.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
John Williams  
View profile  
 More options Sep 24 2002, 5:50 pm
Newsgroups: perl.perl6.language
From: willi...@morinda.com (John Williams)
Date: Tue, 24 Sep 2002 15:27:29 -0600 (MDT)
Local: Tues, Sep 24 2002 5:27 pm
Subject: Re: Paren madness (was Re: Regex query)

On Tue, 24 Sep 2002, Mike Lambert wrote:

> >   $a = (1, 2, 3); # Same as Perl 5's $a = [1,2,3];

> $a = (1) should then do $a = [1], according to the above.

> This implies that:

> ($a) = (1) implies that $a is [1], something I don't particularly agree
> with.

You may be missing the change in the comma operator.  Perl5 uses the
"return the rightmost value" comma from C.  Perl6 is changing the comma to
a "list constructor".   So (1,2,3) is definitely a list, but (4) probably
isn't.

If I understand our non-conclusions so far, we're waiting for Larry to
clarify:

 1)  how to create a 1-tuple/1-item list?

 2)  how to interpret the flattened list context?  e.g. given this:

>       $x = (1,2,3);
>       @y = (1,2,3);
>       $z = [1,2,3];
>       push @a, $x, @y, $z, (1,2,3), [1,2,3];

    What flattens, what doesn't, and how do you override the behavior?

Is there anything I missed?

~ John Williams


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Aaron Sherman  
View profile  
 More options Sep 25 2002, 1:48 pm
Newsgroups: perl.perl6.language
From: a...@ajs.com (Aaron Sherman)
Date: 25 Sep 2002 13:25:46 -0400
Local: Wed, Sep 25 2002 1:25 pm
Subject: Re: Paren madness (was Re: Regex query)

On Tue, 2002-09-24 at 17:27, John Williams wrote:
> If I understand our non-conclusions so far, we're waiting for Larry to
> clarify:

>  1)  how to create a 1-tuple/1-item list?

>  2)  how to interpret the flattened list context?  e.g. given this:

> >       $x = (1,2,3);
> >       @y = (1,2,3);
> >       $z = [1,2,3];
> >       push @a, $x, @y, $z, (1,2,3), [1,2,3];

>     What flattens, what doesn't, and how do you override the behavior?

Mostly I'm interested in the fact that () and [] now do exactly the same
thing, except that Perl 6 ()s can't create one-element lists. Given
that, ()s are just being wasted, syntacticly speaking, on backward
compatibility with Perl 5. I'd like to know if there's any chance of our
breaking with that backward compatibility.

Once again, just waiting for Larry to come back. I'm not really very
interested in pursuing this debate further until I find out what caveats
he may already be planning on introducing.

Once that's in place, I have a whole slew of questions regarding []s
that I think people will find interesting.

--
Aaron Sherman <a...@ajs.com>


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Nicholas Clark  
View profile  
 More options Sep 25 2002, 6:48 pm
Newsgroups: perl.perl6.language
From: n...@unfortu.net (Nicholas Clark)
Date: Wed, 25 Sep 2002 21:59:04 +0100
Local: Wed, Sep 25 2002 4:59 pm
Subject: Re: Paren madness (was Re: Regex query)

On Mon, Sep 23, 2002 at 11:54:06PM -0600, John Williams wrote:
> After testing various cases of x, I came up with one that I cannot
> explain.  Can someone tell me what is happening here (in perl5)?

> $ perl -le 'print "@{[ $a = ('a','b') x 3 ]}"; print $a'
> a bbb
> bbb

> or in other words, after evaluating "@a = $a = ('a','b') x 3",
> $a is 'bbb' and @a is ('a','bbb') !

Well, Deparse says:

$ perl5.6.1 -MO=Deparse -le 'print "@{[ $a = ('a','b') x 3 ]}"; print $a'

print "@{[$a =  x 3];}";
print $a;

-e syntax OK

but if I use a nice new perl (where someone, IIRC Rafael Garcia-Suarez, has
fixed many many bugs):

$ perl5.8.0 -MO=Deparse -le 'print "@{[ $a = ('a','b') x 3 ]}"; print $a'
BEGIN { $/ = "\n"; $\ = "\n"; }
print "@{[$a = ('a', 'b') x 3];}";
print $a;
-e syntax OK

and interestingly, perl 5.8.0 gives a different answer from the perl you ran:

$ perl5.8.0 -le 'print "@{[ $a = ('a','b') x 3 ]}"; print $a'
bbb
bbb

so I'd say that what you see is a bug, and it's already fixed in 5.8

Nicholas Clark
--
Even better than the real thing:        http://nms-cgi.sourceforge.net/


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "Regex query" by Smylers
Smylers  
View profile  
 More options Sep 29 2002, 4:48 pm
Newsgroups: perl.perl6.language
From: Smyl...@stripey.com (Smylers)
Date: 29 Sep 2002 20:33:56 -0000
Local: Sun, Sep 29 2002 4:33 pm
Subject: Re: Regex query

Aaron Sherman wrote:
> On Sat, 2002-09-21 at 06:38, Smylers wrote:

> > ... lists now use square brackets.

> I don't disagree that this is a good thing, but let's look at some
> cases that might not look the way you had intended:  <Snip>

Oh, I hadn't really intending anything.  Starting from what Larry said
about parens creating array refs, I ended up with the evil thought about
square brackets just being for precedence.

Realizing that doing this t'other way round might actually be sensible
was very much an afterthought.  I posted it knowing that I'd be away for
a week, and without even attempting to think through all the
consequences.

> Thoughts?

Fortunately by the time I got back online I find that Luke Palmer has
created a very sensible RFC based on my suggestion.  He's obviously done
more thinking about this than I had, so I don't think there's any point
in me adding anything.

(Thanks Luke, by the way.)

Smylers


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Smylers  
View profile  
 More options Sep 29 2002, 5:48 pm
Newsgroups: perl.perl6.language
From: Smyl...@stripey.com (Smylers)
Date: 29 Sep 2002 21:25:26 -0000
Local: Sun, Sep 29 2002 5:25 pm
Subject: Re: Regex query

Luke Palmer wrote:
> On 21 Sep 2002, Smylers wrote:

> > But because C<$num> _might_ be used as an array ref, the data has to
> > be kept around, which is wasteful.

> The programmer should know whether it would or wouldn't,

Oh, I wasn't doubting that.  I was just concerned that if the 'typical'
way of determining the size of an array remains as it is in Perl 5 then
a programmer could unwittingly be keeping superfluous data around.

> so he could put + or not.

Fair enough.  It would probably be good style always to include the C<+>
when only the size is required; just doing this when otherwise would
leave an array in memory would be too subtle.

Smylers


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages < Older 
« Back to Discussions « Newer topic     Older topic »