# namespace separator ideas

- Thread: https://externals.io/message/20586
- Original archive: https://news-web.php.net/php.internals/20586
- Started by Greg Beaver on 2005-11-26T20:52:35+00:00
- Messages: 53
- Page 1 of 3: messages 1 to 25 (25 per page, add `?page=N` to the URL)
- Next page: https://externals.io/message/20586.md?page=2
- Reply by email to internals@lists.php.net
- More for agents: search with https://externals.io/search.md?q={query} · JSON API at https://externals.io/api · documentation at https://externals.io/llms.txt

---

## #20586 — Greg Beaver — 2005-11-26T20:52:35+00:00

URL: https://externals.io/message/20586#20586

Hi all,

I have only one caveat with the \ separator, which is that it is a
little bit too similar to division with /, and can result in some
confusing code like:

<?php
namespace name1 {
    class name2{}
}
define('name1', 1);
define('name2', 2);

$a = new name1\name2;
$b = name1/name2;
?>

The same issue exists with all colon based separators (that sounds bad
when read the wrong way...) because of the ternary operator, and :: with
static classes/methods.

<?php
namespace name1 {
    class name2{}
}
define('name1', 1);
define('name2', 2);
// this may be a parse error with the current namespace patch,
// but need not be if we use ->
class name1
{
    const name2 = 1;
}

$a = new name1:::name2;
$b = name1::name2; // do you see the difference?  I get confused
?>

What about using the T_OBJECT_OPERATOR?  This is a parse error in
existing versions, and also implies some separation.

<?php
namespace name1 {
    class name2{}
}
define('name1', 1);
define('name2', 2);
// this may be a parse error with the current namespace patch,
// but need not be if we use ->
class name1
{
    const name2 = 1;
}

$a = new name1->name2;
$b = name1::name2;
?>

I also proposed on IRC using \\ as this is similar to netware driver
separators:

<?php
define('name1', 1);
define('name2', 2);

$a = new name1\\name2;
$b = name1/name2;
?>

However, I know Andrei hated this :).  I very much prefer the use of ->,
as this has the same advantage as :: of "rhyming" with current syntax.

Greg

---

## #20587 — Jessie Hernandez — 2005-11-26T21:06:28+00:00

URL: https://externals.io/message/20586#20587 · In reply to: #20586

I personally don't like any of these, but I just thought of this one: 
"%%". Don't think it'll cause any problems at all, and look at the code:

<?php
$a = new name1%%name2;
$b = name1::name2; // I see the difference clearly
?>


What do you think? ":::" is more intuitive for me, but "%%" is an 
acceptable alternative...


Regards,

Jessie


Greg Beaver wrote:
> Hi all,
> 
> I have only one caveat with the \ separator, which is that it is a
> little bit too similar to division with /, and can result in some
> confusing code like:
> 
> <?php
> namespace name1 {
>     class name2{}
> }
> define('name1', 1);
> define('name2', 2);
> 
> $a = new name1\name2;
> $b = name1/name2;
> ?>
> 
> The same issue exists with all colon based separators (that sounds bad
> when read the wrong way...) because of the ternary operator, and :: with
> static classes/methods.
> 
> <?php
> namespace name1 {
>     class name2{}
> }
> define('name1', 1);
> define('name2', 2);
> // this may be a parse error with the current namespace patch,
> // but need not be if we use ->
> class name1
> {
>     const name2 = 1;
> }
> 
> $a = new name1:::name2;
> $b = name1::name2; // do you see the difference?  I get confused
> ?>
> 
> What about using the T_OBJECT_OPERATOR?  This is a parse error in
> existing versions, and also implies some separation.
> 
> <?php
> namespace name1 {
>     class name2{}
> }
> define('name1', 1);
> define('name2', 2);
> // this may be a parse error with the current namespace patch,
> // but need not be if we use ->
> class name1
> {
>     const name2 = 1;
> }
> 
> $a = new name1->name2;
> $b = name1::name2;
> ?>
> 
> I also proposed on IRC using \\ as this is similar to netware driver
> separators:
> 
> <?php
> define('name1', 1);
> define('name2', 2);
> 
> $a = new name1\\name2;
> $b = name1/name2;
> ?>
> 
> However, I know Andrei hated this :).  I very much prefer the use of ->,
> as this has the same advantage as :: of "rhyming" with current syntax.
> 
> Greg

---

## #20589 — Matt Friedman — 2005-11-26T21:19:18+00:00

URL: https://externals.io/message/20586#20589 · In reply to: #20587

Hi, I've been following your conversations all day and think I might
have a nice idea for the namespace separator idea. Sorry to barge in
on your conversation but I think the following has value.

What about something like <- or <:: or even just <:

It makes sense to me because a namespace is akin to a parent of the
class and in a diagram I would use an arrow to point to the parent
from the child. At least there is some type of parent <- child
relation.

examples:
Namespace <:: ClassName
or
Namespace <- ClassName
or
Namespace <: ClassName

Unless I'm missing something these symbols should not conflict with
other ones. They also have more a PHP "feel".

This is the most semantically pleasing for me and it mirrors a common
convention and represents the actual relationship. In the language it
is nice when the symbols have an appearance representative of the
actual relationship.

When I see \ I think of ugly Windoze file paths. Also ::: seems awkward somehow.

Matt.


> I personally don't like any of these, but I just thought of this one:
> "%%". Don't think it'll cause any problems at all, and look at the code:
>
> <?php
> $a = new name1%%name2;
> $b = name1::name2; // I see the difference clearly
> ?>
>
>
> What do you think? ":::" is more intuitive for me, but "%%" is an
> acceptable alternative...
>
>
> Regards,
>
> Jessie
>
>
> Greg Beaver wrote:
> > […]
>
> --
> 
> 
>
>


--
-- Matt Friedman

---

## #20591 — Jared Williams — 2005-11-26T21:36:38+00:00

URL: https://externals.io/message/20586#20591 · In reply to: #20586

> Hi all,
> 
> I have only one caveat with the \ separator, which is that it 
> is a little bit too similar to division with /, and can 
> result in some confusing code like:
> 
> <?php
> namespace name1 {
>     class name2{}
> }
> define('name1', 1);
> define('name2', 2);
> 
> $a = new name1\name2;
> $b = name1/name2;
> ?>
> 
> The same issue exists with all colon based separators (that 
> sounds bad when read the wrong way...) because of the ternary 
> operator, and :: with static classes/methods.
> 
> <?php
> namespace name1 {
>     class name2{}
> }
> define('name1', 1);
> define('name2', 2);
> // this may be a parse error with the current namespace 
> patch, // but need not be if we use -> class name1 {
>     const name2 = 1;
> }
> 
> $a = new name1:::name2;
> $b = name1::name2; // do you see the difference?  I get confused ?>
> 
> What about using the T_OBJECT_OPERATOR?  This is a parse 
> error in existing versions, and also implies some separation.
> 
> <?php
> namespace name1 {
>     class name2{}
> }
> define('name1', 1);
> define('name2', 2);
> // this may be a parse error with the current namespace 
> patch, // but need not be if we use -> class name1 {
>     const name2 = 1;
> }
> 
> $a = new name1->name2;
> $b = name1::name2;
> ?>
> 
> I also proposed on IRC using \\ as this is similar to netware driver
> separators:
> 
> <?php
> define('name1', 1);
> define('name2', 2);
> 
> $a = new name1\\name2;
> $b = name1/name2;
> ?>
> 
> However, I know Andrei hated this :).  I very much prefer the 
> use of ->, as this has the same advantage as :: of "rhyming" 
> with current syntax.

Hi, 
	I was thinking -> too.. Had ideas of namespaces being object instances in their own right..

namespace foo { const ACONST = '1'; class bar {} } 

echo $foo->bar;			// some mangled internal class name (foo_bar_123 or something) to make it unique
$a = new $foo->bar();			
$ref = new ReflectionClass($foo->bar); 



Jared

---

## #20592 — Jessie Hernandez — 2005-11-26T21:39:27+00:00

URL: https://externals.io/message/20586#20592 · In reply to: #20589

Hi Mat,

Matt Friedman wrote:
> Hi, I've been following your conversations all day and think I might
> have a nice idea for the namespace separator idea. Sorry to barge in
> on your conversation but I think the following has value.
> 
> What about something like <- or <:: or even just <:
> 
> It makes sense to me because a namespace is akin to a parent of the
> class and in a diagram I would use an arrow to point to the parent
> from the child. At least there is some type of parent <- child
> relation.
> 
> examples:
> Namespace <:: ClassName
> or
> Namespace <- ClassName
> or
> Namespace <: ClassName
> 
> Unless I'm missing something these symbols should not conflict with
> other ones. They also have more a PHP "feel".
> 

Hmm, "<:" doesn't look bad to me. I'd like to somehow conduct a poll to 
see what most prefer (it would be great if we could add polls on 
php.net). So far, I have these possibilites:

:::
:>
<::
<-
<:

> This is the most semantically pleasing for me and it mirrors a common
> convention and represents the actual relationship. In the language it
> is nice when the symbols have an appearance representative of the
> actual relationship.
> 
> When I see \ I think of ugly Windoze file paths. Also ::: seems awkward somehow.
> 
> Matt.
> 

Yeah, I feel the same way for "\". ":::" seems OK to me, but of course, 
I want to put what the majority prefer.


Regards,

Jessie

---

## #20593 — Jason Garber — 2005-11-26T21:39:44+00:00

URL: https://externals.io/message/20586#20593 · In reply to: #20586

Hello,

  I as a userland library author, would appreciate namespaces quite a
  bit.  Here is an idea:

  namespace1..class()

  $x = new MyApp..MemberOrder();
  

-- 
Best regards,
 Jason                            mailto:jason@ionzoft.com

Saturday, November 26, 2005, 3:52:35 PM, you wrote:

GB> Hi all,

GB> I have only one caveat with the \ separator, which is that it is a
GB> little bit too similar to division with /, and can result in some
GB> confusing code like:

GB> <?php
GB> namespace name1 {
GB>     class name2{}
GB> }
GB> define('name1', 1);
GB> define('name2', 2);

GB> $a = new name1\name2;
GB> $b = name1/name2;
?>>

GB> The same issue exists with all colon based separators (that sounds bad
GB> when read the wrong way...) because of the ternary operator, and :: with
GB> static classes/methods.

GB> <?php
GB> namespace name1 {
GB>     class name2{}
GB> }
GB> define('name1', 1);
GB> define('name2', 2);
GB> // this may be a parse error with the current namespace patch,
GB> // but need not be if we use ->
GB> class name1
GB> {
GB>     const name2 = 1;
GB> }

GB> $a = new name1:::name2;
GB> $b = name1::name2; // do you see the difference?  I get confused
?>>

GB> What about using the T_OBJECT_OPERATOR?  This is a parse error in
GB> existing versions, and also implies some separation.

GB> <?php
GB> namespace name1 {
GB>     class name2{}
GB> }
GB> define('name1', 1);
GB> define('name2', 2);
GB> // this may be a parse error with the current namespace patch,
GB> // but need not be if we use ->
GB> class name1
GB> {
GB>     const name2 = 1;
GB> }

$a = new name1->>name2;
GB> $b = name1::name2;
?>>

GB> I also proposed on IRC using \\ as this is similar to netware driver
GB> separators:

GB> <?php
GB> define('name1', 1);
GB> define('name2', 2);

GB> $a = new name1\\name2;
GB> $b = name1/name2;
?>>

GB> However, I know Andrei hated this :).  I very much prefer the use of ->,
GB> as this has the same advantage as :: of "rhyming" with current syntax.

GB> Greg

---

## #20594 — dz@bitxtender.com — 2005-11-26T21:49:23+00:00

URL: https://externals.io/message/20586#20594 · In reply to: #20592

::: is best. :> and <: look like my favorite smilies. No way I could  
ever use them in code ;)

- David


Am 26.11.2005 um 22:39 schrieb Jessie Hernandez:

> Hi Mat,
>
> Matt Friedman wrote:
> > […]
>
> Hmm, "<:" doesn't look bad to me. I'd like to somehow conduct a  
> poll to see what most prefer (it would be great if we could add  
> polls on php.net). So far, I have these possibilites:
>
> :::
> :>
> <::
> <-
> <:
>
> > […]
>
> Yeah, I feel the same way for "\". ":::" seems OK to me, but of  
> course, I want to put what the majority prefer.
>
>
> Regards,
>
> Jessie

---

## #20595 — Stanislav Malyshev — 2005-11-26T22:06:17+00:00

URL: https://externals.io/message/20586#20595 · In reply to: #20589

MF>>Unless I'm missing something these symbols should not conflict with
MF>>other ones. They also have more a PHP "feel".

I wonder what "PHP feel" is in bunch of special symbols with meaning 
entirely obscure to non-initiated... Why not {@ or <* then? They are nice 
ASCII art too. And there are so many combinations of two special symbols, 
let's find a meaning for all of them. Or at least for as many as we can.
-- 
Stanislav Malyshev, Zend Products Engineer
stas@zend.com  http://www.zend.com/ +972-3-6139665 ext.115

---

## #20596 — Matthew C. Kavanagh — 2005-11-26T22:16:11+00:00

URL: https://externals.io/message/20586#20596 · In reply to: #20595

> I wonder what "PHP feel" is in bunch of special symbols with meaning 
> entirely obscure to non-initiated... Why not {@ or <* then? They are nice 
> ASCII art too. And there are so many combinations of two special symbols, 
> let's find a meaning for all of them. Or at least for as many as we can.

Great, everyone loves sarcasm, but you're describing exactly the
opposite of what's going on in this thread. There is a perceived need
for this functionality and you could argue for or against the
functionality instead. There's plenty of two character tokens in PHP
already and people aren't calling it "PerlHP" yet.

The -> suggestion if practicable seems the most intuitively correct to
me.

---

## #20598 — Marcus Boerger — 2005-11-26T22:23:14+00:00

URL: https://externals.io/message/20586#20598 · In reply to: #20589

Hello Matt,

  bla!

Saturday, November 26, 2005, 10:19:18 PM, you wrote:

> Hi, I've been following your conversations all day and think I might
> have a nice idea for the namespace separator idea. Sorry to barge in
> on your conversation but I think the following has value.

> What about something like <- or <:: or even just <:

> It makes sense to me because a namespace is akin to a parent of the
> class and in a diagram I would use an arrow to point to the parent
> from the child. At least there is some type of parent <- child
> relation.

> examples:
> Namespace <:: ClassName
> or
> Namespace <- ClassName
> or
> Namespace <: ClassName

> Unless I'm missing something these symbols should not conflict with
> other ones. They also have more a PHP "feel".

> This is the most semantically pleasing for me and it mirrors a common
> convention and represents the actual relationship. In the language it
> is nice when the symbols have an appearance representative of the
> actual relationship.

> When I see \ I think of ugly Windoze file paths. Also ::: seems awkward somehow.

> Matt.

> 
> > […]


> --
> -- Matt Friedman

> --
> 
> 



Best regards,
 Marcus

---

## #20597 — dz@bitxtender.com — 2005-11-26T22:23:15+00:00

URL: https://externals.io/message/20586#20597 · In reply to: #20596

-> is crap because it is used for accessing object methods and  
properties. Come on, guys. It is not that difficult. Think before you  
write.

- David


Am 26.11.2005 um 23:16 schrieb Matthew C. Kavanagh:

> 
> > […]
>
> Great, everyone loves sarcasm, but you're describing exactly the
> opposite of what's going on in this thread. There is a perceived need
> for this functionality and you could argue for or against the
> functionality instead. There's plenty of two character tokens in PHP
> already and people aren't calling it "PerlHP" yet.
>
> The -> suggestion if practicable seems the most intuitively correct to
> me.

---

## #20600 — Jessie Hernandez — 2005-11-26T22:27:11+00:00

URL: https://externals.io/message/20586#20600 · In reply to: #20598

Marcus Boerger wrote:
> Hello Matt,
> 
>   bla!
> 

LOL!


--
Jessie

---

## #20602 — Matthew C. Kavanagh — 2005-11-26T22:29:00+00:00

URL: https://externals.io/message/20586#20602 · In reply to: #20597

Don't let the identifiers collide, then.


> -> is crap because it is used for accessing object methods and  
> properties. Come on, guys. It is not that difficult. Think before you  
> write.

---

## #20603 — Marcus Boerger — 2005-11-26T22:31:02+00:00

URL: https://externals.io/message/20586#20603 · In reply to: #20595

Hello Stanislav,

 i know that language it is call ed PerlHyPer :-)

 marcus

Saturday, November 26, 2005, 11:06:17 PM, you wrote:

MF>>>Unless I'm missing something these symbols should not conflict with
MF>>>other ones. They also have more a PHP "feel".

> I wonder what "PHP feel" is in bunch of special symbols with meaning 
> entirely obscure to non-initiated... Why not {@ or <* then? They are nice 
> ASCII art too. And there are so many combinations of two special symbols, 
> let's find a meaning for all of them. Or at least for as many as we can.
> -- 
> Stanislav Malyshev, Zend Products Engineer
> stas@zend.com  http://www.zend.com/ +972-3-6139665 ext.115




Best regards,
 Marcus

---

## #20604 — dz@bitxtender.com — 2005-11-26T23:01:50+00:00

URL: https://externals.io/message/20586#20604 · In reply to: #20602

The proposal is just stupid. It cannot get any more confusing and  
inconsistent.


Am 26.11.2005 um 23:29 schrieb Matthew C. Kavanagh:

> Don't let the identifiers collide, then.
>
> 
> > […]

---

## #20606 — oliver.graetz@arcor.de — 2005-11-26T23:40:01+00:00

URL: https://externals.io/message/20586#20606 · In reply to: #20592

Jessie Hernandez schrieb:

> So far, I have these possibilites:
> 
> :::
> :>
> <::
> <-
> <:

OK, now that Marcus threw a PostToLongException('bla'), I'd love to get
back to this.

Other suggestions were

    :     ::        ->        ..       \

Now some requirements:

- needs to work without collisions in the parser
  (seems to kill ":","::","->")
- should be easily distinguishable from other, similar operators
  (seems to kill ":::")
- at least one person on earth should like it
  (seems to kill "\")

This leaves us with:

   :>    <::    <-    <:    ..

I personally do not like ".." but that's just one voice.
What about combinations with | (like ":|") ?

For a laugh I should ass this link:
The periodic table of Perl operators!
http://www.ozonehouse.com/mark/blog/code/PeriodicTable.pdf

OLLi

---

## #20610 — Matthew C. Kavanagh — 2005-11-27T00:09:40+00:00

URL: https://externals.io/message/20586#20610

> - looks OK (Pear%%Date)
You're kidding, right? %% looks nothing but blocky and messy to my human
eyes, and the resemblance to :: stretches the word "tenuous" to its
limit.

---

## #20611 — Jasper Bryant-Greene — 2005-11-27T00:17:01+00:00

URL: https://externals.io/message/20586#20611

Oliver Grätz wrote:
> Oliver Grätz schrieb:
> > […]
> 
> Whoops, forgot to add "%%"
> 

+1 for <- here. It makes namespace hierarchies resemble diagrams of the 
same hierarchies (like inheritance in UML). It also visually makes 
sense, isn't hard to type, and doesn't look like a smiley (like :> etc).

-- 
Jasper Bryant-Greene
General Manager
Album Limited

+64 21 708 334
jasper@album.co.nz

---

## #20612 — Eric Coleman — 2005-11-27T00:28:47+00:00

URL: https://externals.io/message/20586#20612 · In reply to: #20611

I'd have to vote for either <- or :>.  I perfer the later.

\ is kinda crappy.  Looks weird, as does %%.  Looks like a mess.

--  
Eric Coleman




> Oliver Grätz wrote:
> > […]
>
> +1 for <- here. It makes namespace hierarchies resemble diagrams of  
> the same hierarchies (like inheritance in UML). It also visually  
> makes sense, isn't hard to type, and doesn't look like a smiley  
> (like :> etc).
>
> -- 
> Jasper Bryant-Greene
> General Manager
> Album Limited
>
> +64 21 708 334
> jasper@album.co.nz

---

## #20613 — dz@bitxtender.com — 2005-11-27T00:35:09+00:00

URL: https://externals.io/message/20586#20613 · In reply to: #20612

If we rule out :::, it should be <- instead.

Foo:>bar:>Baz::getTest()->foo();

vs

Foo<-bar<-Baz::getTest()->foo();

The latter looks better to me. I'd still prefer

Foo:::bar:::Baz::getTest()->foo();

though.

- David


Am 27.11.2005 um 01:28 schrieb Eric Coleman:

> I'd have to vote for either <- or :>.  I perfer the later.
>
> \ is kinda crappy.  Looks weird, as does %%.  Looks like a mess.
>
> -- Eric Coleman
>
>
> 
>
> > […]

---

## #20614 — Robert Deaton — 2005-11-27T00:50:20+00:00

URL: https://externals.io/message/20586#20614

> If we rule out :::, it should be <- instead.

I'd hate to see it be <-, looks too much like ->.
Foo<-bar<-Baz::getTest()->foo();

but I agree that ::: should be ruled out all together, its too similar to ::.

I'd almost rather have %% over <-, and even that looks kinda messy.

I think if I had to, I'd pick :>, although there still isn't any that
stands out to me as "Hey, this is definately a good choice"

--
--Robert Deaton

---

## #20615 — Alan Knowles — 2005-11-27T01:09:09+00:00

URL: https://externals.io/message/20586#20615 · In reply to: #20614

This is getting kind of fun to read since we have unicode, perhaps we
should use one of those characters ;) - I'm sure I can find a chinese
character that means namespace for it ;)

define('foo',1);define('bar',2);var_dump(foo<-bar);

personally I would prefer  ":" if it is at all feasible, 
(changing the parser to enforce whitespace on a ? b : c with a compile
error would be a perfectly acceptable penalty. - It pales into
insignficance compared to the `clone()` issue that has to be dealt with in
upgrading PHP4->PHP5 ;)

Regards
Alan


> 
> > […]
> 
> I'd hate to see it be <-, looks too much like ->.
> Foo<-bar<-Baz::getTest()->foo();
> 
> but I agree that ::: should be ruled out all together, its too similar to ::.
> 
> I'd almost rather have %% over <-, and even that looks kinda messy.
> 
> I think if I had to, I'd pick :>, although there still isn't any that
> stands out to me as "Hey, this is definately a good choice"
> 
> --
> --Robert Deaton

---

## #20617 — oliver.graetz@arcor.de — 2005-11-27T01:25:13+00:00

URL: https://externals.io/message/20586#20617 · In reply to: #20611

Jasper Bryant-Greene schrieb:
> Oliver Grätz wrote:
> 
> > […]
> 
> 
> +1 for <- here. It makes namespace hierarchies resemble diagrams of the 
> same hierarchies (like inheritance in UML). It also visually makes 
> sense, isn't hard to type, and doesn't look like a smiley (like :> etc).

If Marcus is correct, then this won't work because of such cases:

define('a',2);
define('a',3);
if (a<-b) echo 'gotcha';

Sorry :-(

OLLi

---

## #20620 — comex — 2005-11-27T02:02:12+00:00

URL: https://externals.io/message/20586#20620

(This is my first post to this list and of course just my opinion.)
> Foo%%bar%%Baz::getTest()->foo();
>
> Yes, it is blocky, as is the :: for class scopes.

But it is the same width as *six* colons.  I agree that : should be
used even if it means requiring whitespace in some obscure case,
mainly because everything else suggested here just doesn't look right.
 %%, as mentioned, is blocky, as with many of the other ones.  And <-
to me looks backwards and implies that x->y = y<-x.  (Same with any of
the operators starting with <, since that seems to be impossible
anyway.)

If : can't be used, however, %% is my favorite.

---

## #20625 — Eric Coleman — 2005-11-27T02:38:16+00:00

URL: https://externals.io/message/20586#20625

If : is still a viable solution, i'd much rather see that used :P

-- Eric
--  
Eric Coleman



> Great work, Oliver! I personally also add a +1 for ":", with the  
> whitespace restriction in the ternary operator (or just removing  
> namespace constants).
>
> I would also add another restriction: you cannot more than one  
> point for/against (so no +2's or -2's, etc.). It just doesn't make  
> sense (I might as well do +4000000 for whatever I want :-) ).
>
>
> Regards,
>
> Jessie
>
>
>
> Oliver Grätz wrote:
> > […]
>
> Namespace Operators
> ====================================================================== 
> ==================================================
> Name                 |s| %%  | :   | ::: | ::< | :<  | <-  | :>  |  
> \   | ->  | \\  | <:: | <:  | ..  |     |     |     |
> ---------------------+-+-----+-----+-----+-----+-----+-----+----- 
> +-----+-----+-----+-----+-----+-----+-----+-----+-----+
> Robert Deaton        |-| +0  |     | -1  |     |     | -2  | +1   
> |     |     |     |     |     |     |     |     |     |
> Alan Knowles         |-|     | +1  |     |     |     |     |      
> |     |     |     |     |     |     |     |     |     |
> Greg Beaver          |-|     | +0  | +0  | +0  | +0  |     | +0  |  
> +0  | +1  | +1  | +0  | +0  |     |     |     |     |
> Jessie Hernandez     |-| +1  | +1  | +1  |     |     |     |      
> |     |     |     |     |     |     |     |     |     |
> Matt Friedman        |-|     |     | -1  |     |     | +1  |     |  
> -1  |     |     | +1  | +1  |     |     |     |     |
> David Zülke          |-|     |     | +2  |     |     | +1  | -1   
> |     |     |     |     | -1  |     |     |     |     |
> Oliver Grätz         |*| +2  |     | +1  |     |     |     |      
> |     |     |     |     |     |     |     |     |     |
> Matthew C. Kavanagh  |-| -1  |     |     |     |     |     |      
> |     |     |     |     |     |     |     |     |     |
> Jasper Bryant-Greene |-|     |     |     |     | -1  | +1  | -1   
> |     |     |     |     | -1  |     |     |     |     |
> Eric Coleman         |-| -1  |     |     |     |     | +1  | +1  |  
> -1  |     |     |     |     |     |     |     |     |
> Christian Stocker    |-|     |     |     |     | -1  |     | -1  |  
> +1  |     |     |     | -1  |     |     |     |     |
> Stanislav Malyshev   |-|     |     |     |     |     |     |      
> |     |     |     |     |     |     |     |     |     |
> Jared Williams       |-|     |     |     |     |     |     |      
> |     | +1  |     |     |     |     |     |     |     |
> Jason Garber         | |     |     |     |     |     |     |      
> |     |     |     |     |     | +1  |     |     |     |
>                      | |     |     |     |     |     |     |      
> |     |     |     |     |     |     |     |     |     |
> ---------------------+-+-----+-----+-----+-----+-----+-----+----- 
> +-----+-----+-----+-----+-----+-----+-----+-----+-----+
> sum                  | | +1  | +1  | +3  | +0  | -2  | +2  | -1  |  
> -1  | +2  | +1  | +1  | -2  | +1  |     |     |     |
> ====================================================================== 
> ==================================================

---

Next page: https://externals.io/message/20586.md?page=2
