Simon Ochsenreither
unread,Apr 21, 2013, 7:19:56 PM4/21/13Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to scala-l...@googlegroups.com
Forget about the second point, at least for Serializable, looks like scalac already does some magic with it.
Considering the first point:
I'll let everyone decide for himself, which "subtlety" he prefers:
List(List(), Vector())
Version 1:
List[scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]{def companion:
scala.collection.generic.GenericCompanion[scala.collection.immutable.Seq with
scala.collection.AbstractSeq{def dropRight(n: Int): scala.collection.immutable.Seq[Any] with
scala.collection.AbstractSeq[Any]; def takeRight(n: Int): scala.collection.immutable.Seq[Any] with
scala.collection.AbstractSeq[Any]; def drop(n: Int): scala.collection.immutable.Seq[Any] with
scala.collection.AbstractSeq[Any]; def take(n: Int): scala.collection.immutable.Seq[Any] with
scala.collection.AbstractSeq[Any]; def slice(from: Int,until: Int): scala.collection.immutable.Seq[Any]
with scala.collection.AbstractSeq[Any]}]; def dropRight(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]{def
companion: scala.collection.generic.GenericCompanion[scala.collection.immutable.Seq with
scala.collection.AbstractSeq]; def dropRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]{def dropRight(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def
takeRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]; def drop(n: Int): scala.collection.immutable.Seq[Nothing]
with scala.collection.AbstractSeq[Nothing]; def take(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def slice(from:
Int,until: Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]};
def takeRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]{def dropRight(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def
takeRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]; def drop(n: Int): scala.collection.immutable.Seq[Nothing]
with scala.collection.AbstractSeq[Nothing]; def take(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def slice(from:
Int,until: Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]};
def drop(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]{def dropRight(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def
takeRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]; def drop(n: Int): scala.collection.immutable.Seq[Nothing]
with scala.collection.AbstractSeq[Nothing]; def take(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def slice(from:
Int,until: Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]};
def take(n: Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]
{def dropRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]; def takeRight(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def drop(n:
Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def
take(n: Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing];
def slice(from: Int,until: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]}; def slice(from: Int,until: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]{def
dropRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]; def takeRight(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def drop(n:
Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def
take(n: Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing];
def slice(from: Int,until: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]}; def splitAt(n: Int): (scala.collection.immutable.Seq[Nothing]
with scala.collection.AbstractSeq[Nothing], scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing])}; def takeRight(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]{def
companion: scala.collection.generic.GenericCompanion[scala.collection.immutable.Seq with
scala.collection.AbstractSeq]; def dropRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]{def dropRight(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def
takeRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]; def drop(n: Int): scala.collection.immutable.Seq[Nothing]
with scala.collection.AbstractSeq[Nothing]; def take(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def slice(from:
Int,until: Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]};
def takeRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]{def dropRight(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def
takeRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]; def drop(n: Int): scala.collection.immutable.Seq[Nothing]
with scala.collection.AbstractSeq[Nothing]; def take(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def slice(from:
Int,until: Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]};
def drop(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]{def dropRight(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def
takeRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]; def drop(n: Int): scala.collection.immutable.Seq[Nothing]
with scala.collection.AbstractSeq[Nothing]; def take(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def slice(from:
Int,until: Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]};
def take(n: Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]
{def dropRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]; def takeRight(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def drop(n:
Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def
take(n: Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing];
def slice(from: Int,until: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]}; def slice(from: Int,until: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]{def
dropRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]; def takeRight(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def drop(n:
Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def
take(n: Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing];
def slice(from: Int,until: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]}; def splitAt(n: Int): (scala.collection.immutable.Seq[Nothing]
with scala.collection.AbstractSeq[Nothing], scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing])}; def drop(n: Int): scala.collection.immutable.Seq[Nothing]
with scala.collection.AbstractSeq[Nothing]{def companion:
scala.collection.generic.GenericCompanion[scala.collection.immutable.Seq with
scala.collection.AbstractSeq]; def dropRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]{def dropRight(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def
takeRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]; def drop(n: Int): scala.collection.immutable.Seq[Nothing]
with scala.collection.AbstractSeq[Nothing]; def take(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def slice(from:
Int,until: Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]};
def takeRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]{def dropRight(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def
takeRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]; def drop(n: Int): scala.collection.immutable.Seq[Nothing]
with scala.collection.AbstractSeq[Nothing]; def take(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def slice(from:
Int,until: Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]};
def drop(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]{def dropRight(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def
takeRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]; def drop(n: Int): scala.collection.immutable.Seq[Nothing]
with scala.collection.AbstractSeq[Nothing]; def take(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def slice(from:
Int,until: Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]};
def take(n: Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]
{def dropRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]; def takeRight(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def drop(n:
Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def
take(n: Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing];
def slice(from: Int,until: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]}; def slice(from: Int,until: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]{def
dropRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]; def takeRight(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def drop(n:
Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def
take(n: Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing];
def slice(from: Int,until: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]}; def splitAt(n: Int): (scala.collection.immutable.Seq[Nothing]
with scala.collection.AbstractSeq[Nothing], scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing])}; def take(n: Int): scala.collection.immutable.Seq[Nothing]
with scala.collection.AbstractSeq[Nothing]{def companion:
scala.collection.generic.GenericCompanion[scala.collection.immutable.Seq with
scala.collection.AbstractSeq]; def dropRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]{def dropRight(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def
takeRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]; def drop(n: Int): scala.collection.immutable.Seq[Nothing]
with scala.collection.AbstractSeq[Nothing]; def take(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def slice(from:
Int,until: Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]};
def takeRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]{def dropRight(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def
takeRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]; def drop(n: Int): scala.collection.immutable.Seq[Nothing]
with scala.collection.AbstractSeq[Nothing]; def take(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def slice(from:
Int,until: Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]};
def drop(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]{def dropRight(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def
takeRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]; def drop(n: Int): scala.collection.immutable.Seq[Nothing]
with scala.collection.AbstractSeq[Nothing]; def take(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def slice(from:
Int,until: Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]};
def take(n: Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]
{def dropRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]; def takeRight(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def drop(n:
Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def
take(n: Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing];
def slice(from: Int,until: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]}; def slice(from: Int,until: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]{def
dropRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]; def takeRight(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def drop(n:
Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def
take(n: Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing];
def slice(from: Int,until: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]}; def splitAt(n: Int): (scala.collection.immutable.Seq[Nothing]
with scala.collection.AbstractSeq[Nothing], scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing])}; def slice(from: Int,until: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]{def
companion: scala.collection.generic.GenericCompanion[scala.collection.immutable.Seq with
scala.collection.AbstractSeq]; def dropRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]{def dropRight(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def
takeRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]; def drop(n: Int): scala.collection.immutable.Seq[Nothing]
with scala.collection.AbstractSeq[Nothing]; def take(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def slice(from:
Int,until: Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]};
def takeRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]{def dropRight(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def
takeRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]; def drop(n: Int): scala.collection.immutable.Seq[Nothing]
with scala.collection.AbstractSeq[Nothing]; def take(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def slice(from:
Int,until: Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]};
def drop(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]{def dropRight(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def
takeRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]; def drop(n: Int): scala.collection.immutable.Seq[Nothing]
with scala.collection.AbstractSeq[Nothing]; def take(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def slice(from:
Int,until: Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]};
def take(n: Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]
{def dropRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]; def takeRight(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def drop(n:
Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def
take(n: Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing];
def slice(from: Int,until: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]}; def slice(from: Int,until: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]{def
dropRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]; def takeRight(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def drop(n:
Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def
take(n: Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing];
def slice(from: Int,until: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]}; def splitAt(n: Int): (scala.collection.immutable.Seq[Nothing]
with scala.collection.AbstractSeq[Nothing], scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing])}; def splitAt(n: Int):
(scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]{def
dropRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]; def takeRight(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def drop(n:
Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def
take(n: Int): scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing];
def slice(from: Int,until: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]}, scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]{def dropRight(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def
takeRight(n: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]; def drop(n: Int): scala.collection.immutable.Seq[Nothing]
with scala.collection.AbstractSeq[Nothing]; def take(n: Int):
scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing]; def slice(from:
Int,until: Int): scala.collection.immutable.Seq[Nothing] with
scala.collection.AbstractSeq[Nothing]})}]
Version 2:
List[scala.collection.immutable.Seq[Nothing] with scala.collection.AbstractSeq[Nothing] with java.io.Serializable]
Bye,
Simon