Синтаксис черты Скала
Я читаю книгу Одерского, и есть пример таблицы с следующей частью кода:
package org.stairwaybook.scells
trait Arithmetic { this: Evaluator =>
operations += (
"add" -> { case List(x, y) => x + y },
"sub" -> { case List(x, y) => x - y },
"div" -> { case List(x, y) => x / y },
"mul" -> { case List(x, y) => x * y },
"mod" -> { case List(x, y) => x % y },
"sum" -> { xs => (0.0 /: xs)(_ + _) },
"prod" -> { xs => (1.0 /: xs)(_ * _) }
)
}
что значит "Оценщик"? Ссылаться на? Может ли кто-нибудь помочь понять эту черту? Как я вижу, это определяет различные операции, которые являются функциями, но я не вижу общей картины ...