Программист на С++, который пытается изучить Haskell здесь. Пожалуйста, извините, наверное, простой вопрос. Я хочу перевести программу, представляющую трехмерные фигуры. В С++ у меня есть что-то вроде:
class Shape {
public:
std::string name;
Vector3d position;
};
class Sphere : public Shape {
public:
float radius;
};
class Prism : public Shape {
public:
float width, height, depth;
};
Я пытаюсь перевести это на Haskell (используя записи?), чтобы у меня были некоторые функции, которые знают, как работать с Shape (например, получить доступ к его имени и позиции) и другим, чем знать только, как работать в сферах, как и вычисление чего-то, основанного на его местоположении и радиусе.
В С++ функция-член может просто получить доступ к этим параметрам, но мне сложно определить, как это сделать в Haskell с записями или типами классов или что-то еще.
Спасибо.