diff options
author | Eugene Yokota <eed3si9n@gmail.com> | 2013-04-20 21:12:39 -0400 |
---|---|---|
committer | Eugene Yokota <eed3si9n@gmail.com> | 2013-04-20 21:12:39 -0400 |
commit | 1d1492f7217f8f75f62febf1f68131931b31bfe2 (patch) | |
tree | 35866756a2359379dd6e0834e5fa258ea3c39779 /test/files | |
parent | 68c6ba7e59befa88b2f383dd7eca71a9329a8b6d (diff) | |
download | scala-1d1492f7217f8f75f62febf1f68131931b31bfe2.tar.gz scala-1d1492f7217f8f75f62febf1f68131931b31bfe2.tar.bz2 scala-1d1492f7217f8f75f62febf1f68131931b31bfe2.zip |
Add :kind command to REPL
:kind command diplays the kind of types and type constructors in Scala
syntax notation.
scala> :kind (Int, Int) => Int
scala.Function2's kind is F[-A1,-A2,+A3]
Diffstat (limited to 'test/files')
-rw-r--r-- | test/files/run/kind-repl-command.check | 32 | ||||
-rw-r--r-- | test/files/run/kind-repl-command.scala | 12 |
2 files changed, 44 insertions, 0 deletions
diff --git a/test/files/run/kind-repl-command.check b/test/files/run/kind-repl-command.check new file mode 100644 index 0000000000..afa32acdae --- /dev/null +++ b/test/files/run/kind-repl-command.check @@ -0,0 +1,32 @@ +Type in expressions to have them evaluated. +Type :help for more information. + +scala> + +scala> :kind scala.Option +scala.Option's kind is F[+A] + +scala> :k (Int, Int) => Int +scala.Function2's kind is F[-A1,-A2,+A3] + +scala> :k -v Either +scala.util.Either's kind is F[+A1,+A2] +* -(+)-> * -(+)-> * +This is a type constructor: a 1st-order-kinded type. + +scala> :k -v scala.collection.generic.ImmutableSortedMapFactory +scala.collection.generic.ImmutableSortedMapFactory's kind is X[CC[A,B] <: scala.collection.immutable.SortedMap[A,B] with scala.collection.SortedMapLike[A,B,CC[A,B]]] +(* -> * -> *(scala.collection.immutable.SortedMap[A,B] with scala.collection.SortedMapLike[A,B,CC[A,B]])) -> * +This is a type constructor that takes type constructor(s): a higher-kinded type. + +scala> :k new { def empty = false } +AnyRef{def empty: Boolean}'s kind is A + +scala> :k Nonexisting +<console>:8: error: not found: value Nonexisting + Nonexisting + ^ + +scala> + +scala> diff --git a/test/files/run/kind-repl-command.scala b/test/files/run/kind-repl-command.scala new file mode 100644 index 0000000000..df1fafb667 --- /dev/null +++ b/test/files/run/kind-repl-command.scala @@ -0,0 +1,12 @@ +import scala.tools.partest.ReplTest + +object Test extends ReplTest { + def code = """ + |:kind scala.Option + |:k (Int, Int) => Int + |:k -v Either + |:k -v scala.collection.generic.ImmutableSortedMapFactory + |:k new { def empty = false } + |:k Nonexisting + """.stripMargin +} |