C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

tempate new syntax [was: Re: Evolution of C++ : Thinking ahe
Goto page 1, 2, 3, 4, 5, 6, 7  Next
 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ language, library and standards
View previous topic :: View next topic  
Author Message
John Torjo
Guest





PostPosted: Tue Sep 07, 2004 2:38 pm    Post subject: tempate new syntax [was: Re: Evolution of C++ : Thinking ahe Reply with quote




Following this thread, I completely agree with Andrei.
I guess parsing would be quite faster, language become cleaner, if we
used a new syntax.

Since we're all used to <>, how about using </ and />
(or, somebody else suggested <| and |> - although I think </ and />
are much faster to type)

I think it's not possible to have </ and /> in the current language,
so this wouldn't break anything.

Using it in code seems quite cute (to me):

template</class value_type/> struct test {
...
};


test</int/> t;


Quote:

Thinking ahead of what's to come - it would be great if a new notation for
templates were introduced by the next C++ standard, and the old one would be
deprecated (along with its camarilla of syntactic fixes for the problems
that it caused).

A nice compiler feature would be to issue warning for the old syntax or not,
depending on the creation date of the files being compiled. So if there's
legacy code, no warning. New code will have warnings if using the old
syntax.

I'll venture to note that there is no experimental data (such as user
studies) backing up the conjecture made by D&E, while there's quite some
hard evidence backing up Pennello's statement Surprised).


Andrei

Going futher, I guess we could even have automation tools to convert
old code to this syntax.


Best,
John


John Torjo
Freelancer
-- [email]john (AT) torjo (DOT) com[/email]

Contributing editor, C/C++ Users Journal
-- "Win32 GUI Generics" -- generics & GUI do mix, after all
-- http://www.torjo.com/win32gui/


[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]


Back to top
Steve Clamage
Guest





PostPosted: Tue Sep 07, 2004 10:42 pm    Post subject: Re: tempate new syntax [was: Re: Evolution of C++ : Thinking Reply with quote




I had not followed the previous thread, so please forgive me if the
following discussion is not new.

At the November 1992 meeting of the C++ Committee, some syntax
ambiguities of the <...> notation for template parameters and
arguments were discussed, and some alternatives were presented.

If I remember correctly, two suggestions that introduced no
ambiguities were {...} and two new digraphs <|...|> (similar to your
suggested </.../>). Tom Pennello, sitting in the back of the room, had
a table-driven C++ parser on his laptop computer, and tested the
suitability of suggested syntax modifications in real time. The {...}
notation was considerd visually confusing, but the <|...|> notation
had some support.

At that time, explicit template arguments on function calls, such as
foo<A,B>(), were not in the language. The arguments that won the day
against any change were that the ambiguities were minor, and that "too
many books and articles and too much code" already existed.

Today we have more serious problems with template syntax than we did
in 1992. I think that if explicit template arguments on function calls
had been part of C++ in 1992, we would have changed the notation then.

---
Steve Clamage, [email]stephen.clamage (AT) sun (DOT) com[/email]

John Torjo wrote:
Quote:
Following this thread, I completely agree with Andrei.
I guess parsing would be quite faster, language become cleaner, if we
used a new syntax.

Since we're all used to <>, how about using </ and /
(or, somebody else suggested <| and |> - although I think </ and /
are much faster to type)

I think it's not possible to have so this wouldn't break anything.

Using it in code seems quite cute (to me):

template</class value_type/> struct test {
...
};


test</int/> t;



Thinking ahead of what's to come - it would be great if a new notation for
templates were introduced by the next C++ standard, and the old one would be
deprecated (along with its camarilla of syntactic fixes for the problems
that it caused).

A nice compiler feature would be to issue warning for the old syntax or not,
depending on the creation date of the files being compiled. So if there's
legacy code, no warning. New code will have warnings if using the old
syntax.

I'll venture to note that there is no experimental data (such as user
studies) backing up the conjecture made by D&E, while there's quite some
hard evidence backing up Pennello's statement Surprised).


Andrei

Going futher, I guess we could even have automation tools to convert
old code to this syntax.


Best,
John


John Torjo
Freelancer
-- [email]john (AT) torjo (DOT) com[/email]

Contributing editor, C/C++ Users Journal
-- "Win32 GUI Generics" -- generics & GUI do mix, after all
-- http://www.torjo.com/win32gui/


[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]


Back to top
Eric Backus
Guest





PostPosted: Tue Sep 07, 2004 11:23 pm    Post subject: Re: tempate new syntax [was: Re: Evolution of C++ : Thinking Reply with quote





"John Torjo" <jtorjo (AT) yahoo (DOT) com> wrote

Quote:
Since we're all used to <>, how about using </ and /
(or, somebody else suggested <| and |> - although I think </ and /
are much faster to type)

I think it's not possible to have so this wouldn't break anything.

How about an explicit specialization:

template</*intentionally_empty*/> int my_max<int>(int x1, int x2) {
return (x1 > x2) ? x1 : x2; }

Or, possibly some case of template deduction?:

x = func</*intentionally_empty*/>(arg1, arg2);

--
Eric Backus
R&D Design Engineer
Agilent Technologies, Inc.
425-356-6010 Tel


[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]


Back to top
John Torjo
Guest





PostPosted: Thu Sep 09, 2004 4:40 pm    Post subject: Re: tempate new syntax [was: Re: Evolution of C++ : Thinking Reply with quote


Steve Clamage <Stephen.Clamage (AT) Sun (DOT) COM> wrote

Quote:
I had not followed the previous thread, so please forgive me if the
following discussion is not new.

At the November 1992 meeting of the C++ Committee, some syntax
ambiguities of the <...> notation for template parameters and
arguments were discussed, and some alternatives were presented.

If I remember correctly, two suggestions that introduced no
ambiguities were {...} and two new digraphs <|...|> (similar to your
suggested </.../>). Tom Pennello, sitting in the back of the room, had

His name came up on the other discussion ;)

Quote:
a table-driven C++ parser on his laptop computer, and tested the
suitability of suggested syntax modifications in real time. The {...}
notation was considerd visually confusing, but the <|...|> notation
had some support.

At that time, explicit template arguments on function calls, such as
foo<A,B>(), were not in the language. The arguments that won the day
against any change were that the ambiguities were minor, and that "too
many books and articles and too much code" already existed.

Today we have more serious problems with template syntax than we did
in 1992. I think that if explicit template arguments on function calls
had been part of C++ in 1992, we would have changed the notation then.


That's why I (and probably Andrei) think it's quite imperative to
change this.
We could still allow for the old syntax (with a warning), create some
automation tools (for updating files from old to new syntax) and allow
for a newer/cleaner/easier to parse solution.

(as a side-note, I think the best people to build those automation
tools would be the compiler writers Wink)

Best,
John


John Torjo
Contributing editor, C/C++ Users Journal
-- "Win32 GUI Generics" -- generics & GUI do mix, after all
-- http://www.torjo.com/win32gui/


[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]


Back to top
kanze@gabi-soft.fr
Guest





PostPosted: Thu Sep 09, 2004 4:40 pm    Post subject: Re: tempate new syntax [was: Re: Evolution of C++ : Thinking Reply with quote


[email]jtorjo (AT) yahoo (DOT) com[/email] (John Torjo) wrote in message
news:<c638aac5.0409062202.5ef631b2 (AT) posting (DOT) google.com>...

Quote:
Following this thread, I completely agree with Andrei. I guess
parsing would be quite faster, language become cleaner, if we used a
new syntax.

Since we're all used to <>, how about using </ and /
(or, somebody else suggested <| and |> - although I think </ and /
are much faster to type)

I think it's not possible to have so this wouldn't break anything.

bool b = a b ;

That's a perfectly legal statement today.

--
James Kanze GABI Software http://www.gabi-soft.fr
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34


[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]


Back to top
bone bag
Guest





PostPosted: Thu Sep 09, 2004 4:40 pm    Post subject: Re: tempate new syntax [was: Re: Evolution of C++ : Thinking Reply with quote


[email]jtorjo (AT) yahoo (DOT) com[/email] (John Torjo) wrote in message news:<c638aac5.0409062202.5ef631b2 (AT) posting (DOT) google.com>...
Quote:
Following this thread, I completely agree with Andrei.
I guess parsing would be quite faster, language become cleaner, if we
used a new syntax.

Since we're all used to <>, how about using </ and /
(or, somebody else suggested <| and |> - although I think </ and /
are much faster to type)
[snip]


Not on my German keyboard! In fact, the symbols <,>,| are all on one
key, making <| and |> seem most natural.


[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]


Back to top
John Torjo
Guest





PostPosted: Fri Sep 10, 2004 3:12 pm    Post subject: Re: tempate new syntax [was: Re: Evolution of C++ : Thinking Reply with quote


Eric Backus <eric_backus (AT) alum (DOT) mit.edu> wrote

Quote:
"John Torjo" <jtorjo (AT) yahoo (DOT) com> wrote in message
news:c638aac5.0409062202.5ef631b2 (AT) posting (DOT) google.com...
Since we're all used to <>, how about using </ and /
(or, somebody else suggested <| and |> - although I think </ and /
are much faster to type)

I think it's not possible to have so this wouldn't break anything.

How about an explicit specialization:

template</*intentionally_empty*/> int my_max<int>(int x1, int x2) {
return (x1 > x2) ? x1 : x2; }

Or, possibly some case of template deduction?:

x = func</*intentionally_empty*/>(arg1, arg2);


Man, you got me here.
Although probably noone wrote such a thing, you're right.

Of course, the compiler can be smart and see if it encounters </* or
*/> and treat /* as comments.

Or, we can use <| and |>
Now, find a broken construct using <| |> !
(although, again, I'm pretty against this, since | is very complicated
to type - for me)

Best,
John

John Torjo
Contributing editor, C/C++ Users Journal
-- "Win32 GUI Generics" -- generics & GUI do mix, after all
-- http://www.torjo.com/win32gui/


[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]


Back to top
Thorsten Ottosen
Guest





PostPosted: Fri Sep 10, 2004 3:12 pm    Post subject: Re: tempate new syntax [was: Re: Evolution of C++ : Thinking Reply with quote


"John Torjo" <jtorjo (AT) yahoo (DOT) com> wrote

Quote:

Steve Clamage <Stephen.Clamage (AT) Sun (DOT) COM> wrote


Quote:
Today we have more serious problems with template syntax than we did
in 1992. I think that if explicit template arguments on function calls
had been part of C++ in 1992, we would have changed the notation then.


That's why I (and probably Andrei) think it's quite imperative to
change this.
We could still allow for the old syntax (with a warning), create some
automation tools (for updating files from old to new syntax) and allow
for a newer/cleaner/easier to parse solution.

If the only reason is faster parsing speed, then I don't see why one should
change anything. Time
is working to our advantage...the next time I buy a lap-top it will be 4 times
as fast; even for many years
good compilers with pre-compiled headers have been quite fast at compiling
stuff.

br

Thorsten



[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]


Back to top
Andrei Alexandrescu (See
Guest





PostPosted: Fri Sep 10, 2004 3:13 pm    Post subject: Re: tempate new syntax [was: Re: Evolution of C++ : Thinking Reply with quote


"John Torjo" <jtorjo (AT) yahoo (DOT) com> wrote

Quote:
That's why I (and probably Andrei) think it's quite imperative to
change this.

Indeed, I second that.

Quote:
We could still allow for the old syntax (with a warning), create some
automation tools (for updating files from old to new syntax) and allow
for a newer/cleaner/easier to parse solution.

(as a side-note, I think the best people to build those automation
tools would be the compiler writers Wink)

C++ is a wonderful language, and it has made some pioneering breakthroughs
in areas where other languages either didn't try, didn't succeed, or
succeeded but nobody cared Surprised). In doing so, it inevitably accumulated some
scars.

I now believe it is very important now for C++ to provide a coherent means
to close those wounds.


Andrei



[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]


Back to top
kanze@gabi-soft.fr
Guest





PostPosted: Sat Sep 11, 2004 3:06 pm    Post subject: Re: tempate new syntax [was: Re: Evolution of C++ : Thinking Reply with quote


[email]paul_evans7 (AT) hotmail (DOT) com[/email] (bone bag) wrote in message
news:<4374f570.0409080443.6cd7f12a (AT) posting (DOT) google.com>...
Quote:
jtorjo (AT) yahoo (DOT) com (John Torjo) wrote in message
news:<c638aac5.0409062202.5ef631b2 (AT) posting (DOT) google.com>...

Following this thread, I completely agree with Andrei. I guess
parsing would be quite faster, language become cleaner, if we used a
new syntax.

Since we're all used to <>, how about using </ and /> (or, somebody
else suggested <| and |> - although I think </ and /> are much
faster to type)
[snip]

Not on my German keyboard! In fact, the symbols <,>,| are all on one
key, making <| and |> seem most natural.

On your German keyboard. The position of | on German keyboards is not
standardized -- according to DIN, German keyboards don't even have a |.
(In practice, it would be a silly keyboard driver which put it anywhere
else but where the Windows keyboard driver puts it. Which is on the
same key as < and >.)

But I consider this a disadvantage -- I find it far easier to type
successive characters if they are on different keys. Or rather, if I
don't have to play with shift, control or alt in the middle of the
sequence. I find the placement of < and > on the same key (differing
only by the shift) a pain on German and French keyboards. Of course,
the fact that you need to use alt to get some pretty common characters
in C++ (like { and }) means that I avoid such keyboards for entering C++
anyway:-). (On a French keyboard, you have to shift to get numbers,
which makes it more or less awkward for many technical jobs.)

--
James Kanze GABI Software http://www.gabi-soft.fr
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34


[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]



Back to top
Andrei Alexandrescu (See
Guest





PostPosted: Sat Sep 11, 2004 3:06 pm    Post subject: Re: tempate new syntax [was: Re: Evolution of C++ : Thinking Reply with quote


"John Torjo" <jtorjo (AT) yahoo (DOT) com> wrote

Quote:
Or, we can use <| and |
Now, find a broken construct using <| |> !
(although, again, I'm pretty against this, since | is very complicated
to type - for me)

There's no problem with <| and |>. I use them for generics in a little
language for hardware specification, and people like them a lot.

On an unrelated vein, I use "!" for passing-in default arguments to
function, and people say it looks great:

void Foo(int = 0, string = "wyda", double = 0);

can be called:

Foo(2, !, 1); // calls Foo(2, "wyda", 1);


Andrei



[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]



Back to top
Steven T. Hatton
Guest





PostPosted: Sun Sep 12, 2004 3:16 pm    Post subject: Re: tempate new syntax [was: Re: Evolution of C++ : Thinking Reply with quote


Thorsten Ottosen wrote:

Quote:
If the only reason is faster parsing speed, then I don't see why one
should change anything. Time
is working to our advantage...the next time I buy a lap-top it will be 4
times as fast; even for many years
good compilers with pre-compiled headers have been quite fast at
compiling stuff.


What about parsing/compiling portable code on the fly in situations where
you want virtually immediate results? I don't believe that is beyond the
realm of foreseeable requirements.

--
Regards,
Steven


[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]



Back to top
Thorsten Ottosen
Guest





PostPosted: Sun Sep 12, 2004 4:51 pm    Post subject: Re: tempate new syntax [was: Re: Evolution of C++ : Thinking Reply with quote

"Steven T. Hatton" <hattons (AT) globalsymmetry (DOT) com> wrote

Quote:

Thorsten Ottosen wrote:

If the only reason is faster parsing speed, then I don't see why one
should change anything. Time
is working to our advantage...the next time I buy a lap-top it will be 4
times as fast; even for many years
good compilers with pre-compiled headers have been quite fast at
compiling stuff.


What about parsing/compiling portable code on the fly in situations where
you want virtually immediate results? I don't believe that is beyond the
realm of foreseeable requirements.

yeah, It's always nice with faster builds, but the confusion that two
different syntaxes
can bring is also worth considering.

Another template syntax will probably hurt portability.

For programs with heavy use of templates, I vaguely recall that Daveed V. said
that
something like his metacode would improve compilation speed. By how much I
don't know.

br

Thorsten


---
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]


Back to top
Lothar Werzinger
Guest





PostPosted: Mon Sep 13, 2004 3:39 am    Post subject: Re: tempate new syntax [was: Re: Evolution of C++ : Thinking Reply with quote



Re: tempate new syntax [was: Re: Evolution of C++ : Thinking ahead of what's
to come]
From:
Lothar Werzinger <lothar (AT) xcerla (DOT) com>
Date:
Sunday 12 September 2004 10:57:32
Groups:
comp.std.c++,comp.lang.c++.moderated
Followup-To:
comp.std.c++
no references

Andrei Alexandrescu (See Website for Email) wrote:

Quote:
On an unrelated vein, I use "!" for passing-in default arguments to
function, and people say it looks great:

void Foo(int = 0, string = "wyda", double = 0);

can be called:

Foo(2, !, 1); // calls Foo(2, "wyda", 1);


Andrei

When it comes to default arguments I would muh more like the Python way by
naming the variables. With that you can specify them in any order and omit
all that you do not want to use. Of course that would REQUIRE to have names
in the declaration of methods/functions with default parameters.

void Foo(int number = 0, string text = "wyda", double amount = 0);

can be called:

// calls Foo(0, "hello andrei", 3.14);
Foo(amount = 3.14, text = "hello andrei");

Lothar

---
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]


Back to top
Francis Glassborow
Guest





PostPosted: Mon Sep 13, 2004 10:29 am    Post subject: Re: tempate new syntax [was: Re: Evolution of C++ : Thinking Reply with quote

In article <20040912140835.GA5789 (AT) mail19g (DOT) g19.rapidsite.net>, Lothar
Werzinger <lothar (AT) xcerla (DOT) com> writes
Quote:
When it comes to default arguments I would muh more like the Python way by
naming the variables. With that you can specify them in any order and omit
all that you do not want to use. Of course that would REQUIRE to have names
in the declaration of methods/functions with default parameters.

It would also require that those names have some form of extended scope,
and that is a little less trivial.


--
Francis Glassborow ACCU
Author of 'You Can Do It!' see http://www.spellen.org/youcandoit
For project ideas and contributions: http://www.spellen.org/youcandoit/projects

---
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]


Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ language, library and standards All times are GMT
Goto page 1, 2, 3, 4, 5, 6, 7  Next
Page 1 of 7

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.