2
(https://stackoverflow.com/a/37461290/2129302)에 대한 구현 (쇼를) 찾기 :다음 코드는 출신 유도 정의 형
mkStr : (Show a) => tensor shape a -> String
mkStr x = show x
하지만 그 대신이 :
tensor : Vect n Nat -> Type -> Type
tensor [] a = a
tensor (m :: ms) a = Vect m (tensor ms a)
나는 다음과 같은 정의하고 싶습니다 다음과 같은 오류가 발생합니다 :
그러나, REPL에서 "show [some tensor value .. .] ". 왜 이것이 문제이며 해결하기 위해 무엇을 할 수 있습니까?
왜 이것이 사실일까요? 확실하게'Show a'의 구현이 있다면'Show (tensor shape a) '도 가능합니다. 'Vect' 자체는'쇼'를 제공한다. –
@RoastedYam'tensor'는 종속 형식의 함수입니다. Idris는'Show' 제약 조건을 만족하는'tensor' 함수의 결과에 대해서 타입 변수'a'에 대해'Show' 제약 조건을 갖는 것만으로 충분하지 않은지 추측하려고하지 않습니다. 또한 'shape'은 유형 변수가 아니기 때문에 특정 유형이 아닙니다. 그것은 'Vect'가 아닙니다. – Shersh