하스켈에게 멍청한 멍청한 질문이 올거예요. 내가 ghci 출력 작업을하고 인스턴스 선언에 붙어있어 노력하고있어. 나는이 같은 선언을 만들기 위해 노력했습니다하스켈 인스턴스 선언 만들기
data Cmd = LD Int
| ADD
| MULT
| DUP
deriving Show
type Prog = [Cmd]
type Stack = [Int]
type D = Stack -> Stack
:
instance Show D where show = Stack
을하지만, 내 모든 시도가 주어진 - 어떻게 "(> 스택) 쇼 (스택)"에 대한 인스턴스를 선언 할 수 불법적 인 인스턴스 선언이 발생했습니다. 어떤 도움이나 참고 사항이 많이 감사합니다!
코드에서 사용자가 원하는 것이 분명하지 않습니다. 'show (\ s -> 1 : s)'를 반환합니다. – sepp2k
나는 당신이 정말로 원하는 것 (그것이 무엇을 할 수 있는지 상상하기 힘들다)이 아니기 때문에 Show for D의 인스턴스를 정의하려고하지 않는 직감을 가지고있다. 그러나 컴파일러가 당신에게 유형이 있기 때문에 하나가 필요하다고 말하기 때문에 오류 어딘가에; 그게 가능하니? 그렇다면 해결책은 다른 코드를 수정하는 것입니다. –