Я хочу иметь возможность сделать что-то вроде этого:
(struct point (x y))
(define p1 (point 1 2))
(define p2 (point 10 20))
(+ p1 p2) ; -> (point 11 22)
Можно ли научить структуру типа point
работать со встроенными математическими операторами, такими как +
?
Документы, похоже, могут реализовать пользовательскую обработку (equal? ...)
в разделе 5.5 на этой странице .То, что я пытаюсь сделать, очень похоже ...
Или я должен просто определить функцию как (point-add p1 p2)
?