как сделать неявное преобразование типов, используемых в моем интерпретаторе - PullRequest
3 голосов
/ 23 июня 2010

Я пишу интерпретатор и пытался использовать решение из как установить неявное преобразование в разрешить арифметику между числовыми типами для той же проблемы, что и мнебыть в состоянии добавить Boolean + Boolean, Int + Boolean, Boolean + Int, Int + Double, Double + Double и т.д.и здесь часть моего интерпретаторатипа Numeric[WeakLub]

есть идеи как заставить это работать?Я хотел, чтобы метод eval возвращал C, но поскольку C[Int] не является экземпляром C[Any], это не решает мою проблему

1 Ответ

1 голос
/ 23 июня 2010

Из-за стирания типа вы не можете получить во время выполнения параметр типа C. Вам нужно будет использовать манифесты для хранения этой информации. См. Вопросы, связанные с манифестом и стиранием типа.

...