Thanks for this info, Jason. Do you know whether there is a fix in sight for these issues with tagged types?
Also, if I got that correctly, with tagged types you can still use the functions define for untagged data type on the tagged ones. For instance, you can still do the following:
val a: Int @@ SomeTag = ...
val b: Int @@ SomeTag = ...
val c = a + b //inferred type of c is Int
While with Value Classes you'd need to define some implicit conversions to do this, no?
On May 1, 2013 7:18 AM, "Jason Zaugg" <jza...@gmail.com> wrote:
> Value Classes are still boxed whenever they are used in generic collections / code. Tagged Types are not, but unfortunately are prone to compiler bugs (e.g. https://issues.scala-lang.org/browse/SI-5183)
As are value classes (https://issues.scala-lang.org/browse/SI-6260).
This alone makes them unusable for generic code, since you have to walk on eggshells to use them on unconstrained generic types of any kind, whereas "I've got an A, I want an A @@ tag" is entirely reasonable.
--
Stephen Compall
If anyone in the MSA is online, you should watch this flythrough.
--
You received this message because you are subscribed to the Google Groups "scalaz" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scalaz+un...@googlegroups.com.
To post to this group, send email to sca...@googlegroups.com.
Visit this group at http://groups.google.com/group/scalaz?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.