I'm fairly convinced that once Scala enables pattern-matching to
transparently use any relevant manifests in scope, coupled with context
bounds for passing Manifests around, then we'll have solved all the main
use-cases for reification.
Something like:
def method[T : Manifest](xs: List[T]) = xs match {
case List[String] => doSomething
case List[Int] => doSomethingElse
case _ => sys.error("Unexpected type: " + manifest[T].erasure)
}
On 3 October 2012 22:38, Ricky Clarkson <[email protected]> wrote:
> I think the main driver is to retain the illusion that everything is
> discoverable at runtime and that bytecode looks like source code in certain
> ways.
>
> I personally am not bothered either way on this, but I know people often
> run up against the limitation. In fact, any generic warning or error that
> a programmer doesn't understand is often misattributed to erasure.
>
> Scala shows that you don't need reification to allow primitives as type
> parameters, however Scala also goes to lengths with its Manifests to let
> you get at the original types that I do wish it would present that as
> reification and not make you have to see any Manifest use in source.
>
> I wouldn't see reification as a disaster for Java if it did arrive, not
> sure whether Fabrizio is basing this on reason or feelings again.
> On Oct 3, 2012 6:04 PM, "Cédric Beust ♔" <[email protected]> wrote:
>
>> Fair enough, let us know if you reach any interesting conclusions!
>>
>> --
>> Cédric
>>
>>
>>
>>
>> On Wed, Oct 3, 2012 at 1:50 PM, Martijn Verburg <[email protected]
>> > wrote:
>>
>>> Hi Cedric,
>>>
>>> I confess I am actually torn. I'm a big fan of polyglot and reified
>>> generics could throw a spanner in the works for this. We had a fun
>>> discussion with Charlie (JRuby) Martin (Scala), Jeff (Gosu) and Ola about
>>> this last year.
>>>
>>> Counter point is that I feel that type erasure generics breaks the
>>> principle of least surprise for the day to day developer.
>>>
>>> I always harp on about empirical evidence, so I really should set up a
>>> workshop and have developers try out both types and see what their feedback
>>> is. :)
>>>
>>> Food for thought - thanks for triggering it!
>>>
>>> Cheers,
>>> Martijn
>>>
>>>
>>> On Wednesday, 3 October 2012, Cédric Beust ♔ wrote:
>>>
>>>> On Wed, Oct 3, 2012 at 12:14 PM, Martijn Verburg <
>>>> [email protected]> wrote:
>>>>
>>>>> Tentatively scheduled for 9 or 10 - I'd prefer to see 9 personally but
>>>>> appreciate its a non trivial change ;-)
>>>>
>>>>
>>>> But why? I'm still struggling to find out why some people feel so
>>>> strongly about the importance of reified generics. If you spend some time
>>>> thinking about the implications and costs of reified generics, you actually
>>>> realize that the need is rare and that even in such situations, type
>>>> literals (or similar) can get you very far, and that erasure comes with
>>>> many more pros and less cons than reified generics do.
>>>>
>>>> I captured these thoughts in this
>>>> article<http://beust.com/weblog/2011/07/29/erasure-vs-reification/>a while
>>>> ago, I'd love to hear if your use case for reified generics is not
>>>> covered there.
>>>>
>>>> --
>>>> Cédric
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Java Posse" group.
>>>> To post to this group, send email to [email protected].
>>>> To unsubscribe from this group, send email to
>>>> [email protected].
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/javaposse?hl=en.
>>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Java Posse" group.
>>> To post to this group, send email to [email protected].
>>> To unsubscribe from this group, send email to
>>> [email protected].
>>> For more options, visit this group at
>>> http://groups.google.com/group/javaposse?hl=en.
>>>
>>
>> --
> You received this message because you are subscribed to the Google Groups
> "Java Posse" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/javaposse?hl=en.
>
--
Kevin Wright
mail: [email protected]
gtalk / msn : [email protected]
quora: http://www.quora.com/Kevin-Wright
google+: http://gplus.to/thecoda
<[email protected]>
twitter: @thecoda
vibe / skype: kev.lee.wright
steam: kev_lee_wright
"My point today is that, if we wish to count lines of code, we should not
regard them as "lines produced" but as "lines spent": the current
conventional wisdom is so foolish as to book that count on the wrong side
of the ledger" ~ Dijkstra
--
You received this message because you are subscribed to the Google Groups "Java
Posse" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/javaposse?hl=en.