1
아래에 표시된대로 유형 및 유형 클래스를 정의하고 내보내는 모듈이 있습니다. 문제는 클래스의 인스턴스가 아직 없기 때문에이 모듈에서 클래스의 함수를 사용하는 것처럼 보일 수 없다는 것입니다.하스켈 : 인스턴스가없는 모듈에서 유형 클래스의 함수 사용
이는 GHC 오류입니다 :이 문제를 해결
있나요 어떤 식 으로든 "`AABB '에 대한 유형 서명은 동반 바인딩이 부족하다"? 감사.
module AABB (
AABB
,Boundable(..)
,aabb
,consume
) where
type AABB = (Vec3,Vec3)
class Boundable a where
aabb ∷ a → AABB
consume ∷ (Boundable a) ⇒ AABB → a → AABB
consume (v0,v1) x = (minV v0 v2, maxV v1 v3)
where (v2,v3) = aabb x
maxV ∷ Vec3 → Vec3 → Vec3
maxV (Vec3 x0 y0 z0) (Vec3 x1 y1 z1) = Vec3 (max x0 x1) (max y0 y1) (max z0 z1)
minV ∷ Vec3 → Vec3 → Vec3
minV (Vec3 x0 y0 z0) (Vec3 x1 y1 z1) = Vec3 (min x0 x1) (min y0 y1) (min z0 z1)
? Vec3에 대한 정의가 없기 때문에 우리에게 모든 것을 보여주지 않는다고 가정합니다. – augustss
사과, 나는 예제에서 Vec3 정의를 놓쳤다. – MFlamer