[A, B, C] 목록이 있다고 가정합니다.하스켈 : 목록의 대수 데이터 형식?
data V = A | B | C
감사 : 나는 다음과 같은 의미로 그 목록을 기반으로 대수 데이터 형식을 선언 할 수있는 방법이 있습니까!
[A, B, C] 목록이 있다고 가정합니다.하스켈 : 목록의 대수 데이터 형식?
data V = A | B | C
감사 : 나는 다음과 같은 의미로 그 목록을 기반으로 대수 데이터 형식을 선언 할 수있는 방법이 있습니까!
원하는 것은 추상적 인 데이터 유형이며 동적으로 생성되며 ADT를 사용하는 모든 언어에서 상당히 비표준입니다.
당신이 할 수있는 일은 하나의 생성자를 가진 데이터 타입을 가지고, 그 다음에 스마트 생성자이라고하는 것으로, 생성자에게 전달할 수있는 값에 대한 논리를 부과합니다.
어떤 종류의 순열 목록을 생성하고 정확히 어떤 종류의 ADT를 가져올 지에 대한 구체적인 예를 들려 줄 수 있습니까? 런타임에 새로운 ADT를 정의하는 것은 일반적으로 불가능합니다. 그러나 컴파일 타임에 큰 ADT를 프로그래밍 방식으로 생성하려면 Template Haskell을 사용하여 프로그래밍 할 수 있습니다. – shang