4
나는 내가 정의한 다른 데이터 유형을 가지고 있으며, 그것들을 모두 클래스의 인스턴스로 만들고 싶습니다. 각각 개별적으로 선언 할 필요없이 유형 목록 및 인스턴스를 매핑 할 수 있습니까?내가 haskell에서 유형의 목록을 만들 수 있습니까?
나는 이런 식으로 뭔가 의미 : 실제로 당신이 할 수있는
data Type1 = ...
data Type2 = ...
map (instance ClassName) [Type1, Type2]
다른 모든 매개 변수를 사용하여 이러한 모든 유형을 'F x y ...'형식으로 다시 작성할 수없는 한, 유일한 옵션은 Template Haskell을 통해 인스턴스를 생성하는 것입니다. 그다지 편리하지 않으므로 글을 쓸 인스턴스가 많은 경우에만 양초의 가치가 있습니다. – chi
'map (instance ClassName)'은 정확히 무엇을할까요? 'map'은리스트를 취하고 각 아이템에 똑같은 일을합니다. 모든 인스턴스가 동일합니까? 그렇다면 형식도 동일해야합니다. 왜 다른 형식을 사용해야합니까? 아니면'ClassName'이 빈 클래스입니까? 그럼 그게 뭡니까? –
json 변환을 수행하기 위해 aeson을 사용하고 있습니다. generic을 사용하여 from 및 json의 인스턴스로 자동 선언 된 유형을 사용할 수 있으므로 json 데이터를 나타내는 다른 유형을 생성 할 수 있습니다. 이 경우 클래스의 인스턴스를 유형으로 만들고 추가 정의가 필요하지 않으며 여러 JSON 데이터를 나타내는 데 필요한 여러 유형이 있으므로 각 유형에 인스턴스를 매핑하는 것이 좋습니다. –