0
2 차원 좌표 벡터의 간단한 표현을 찾고 있습니다. 내 첫 번째 아이디어는 단순한 (c, c)
튜플 이었지만 내 요구에 맞지 않습니다. 은 Functor 및 실용적의2 차원 좌표 벡터의 설계
- 인스턴스 동일한 의미 (예를 들어,
ScreenCoord
및GameCoord
)가 구별 유형을 가지고 - 능력 :
이 내가 원하는 것 것입니다.
- 간단한 데이터 생성자 (예 :
ScreenCoord c c
) Coord
이상의 제네릭 코드를 작성할 수 있습니다.
잘 모르겠습니다. 내가 시도한 모든 것은 instance
코드를 사용하여 고유 한 형식을 가져 오거나 불필요하다고 생각되는 ScreenCoord (Coord c c)
과 같은 긴 데이터 생성자가 필요했습니다.
여기에 이상적인 표현은 무엇입니까?
링크를 제공해 주셔서 감사합니다.하지만 어떻게 'Vertex2'의 '별개의 동의어'를 만들 수 있습니까? '별개의 동의어'가 올바른 용어인지 확실하지 않습니다. – Pubby
@Pubby'newtype'은 형식 검사기가 다른 동일한 형식을 구별하도록 요구하는 메커니즘입니다. –
나는 당신을 이해하는지 모르겠다. 기존 데이터를 랩핑하고 다른 인스턴스를 생성하려면'newtype' 선언이 있습니다. [NewtypeDeriving] (http://hackage.haskell.org/trac/haskell-prime/wiki/NewtypeDeriving) 언어 확장이 있습니다. 'newtype '(http://hackage.haskell.org/package/newtype) 패키지는'pack' /'unpack'을 사용합니다. 생성자와 같은 함수를 생성 할 수 있습니다. – ony