Я хочу создать функцию символьного дифференцирования в Scala, используя сопоставление с образцом, как это сделано в SICP. Я хотел бы иметь возможность написать что-то вроде этого:
differentiate(exp) = exp match
{
case + =>
case * =>
}
Возможно ли это в Scala на «родных» выражениях?
def differentiate (exp: T) = ...
? Какой тип опыта? Строка? Функция? Оба не подходят только для «+» или «*». - person user unknown   schedule 03.03.2012