2011-07-26 4 views
2

유사 인용 부호 구문이 이제 4 인수 [link]를 허용하는 것으로 변경된 것 같습니다. 아무도 아직 사용하지 않았습니까? 감사. 나는 단지 정말 무언가를 만들고 싶습니다. 웹상의 예는 지금은 작동하지 않을 것입니다.하스켈 - 새로운 4 인수 유사 인용 자 사용법

미리 감사드립니다.

+1

새 것을 '정의되지 않음'으로 설정할 수 없습니까? (확실한 지 모르겠지만 quasis에 대한 경험은 거의 없습니다.) – alternative

답변

3

QuasiQuoter의 각 부분은 문자열 (유사 인용 부호의 내용)을 취하여 Q 모나드에 적절한 값을 반환하는 함수입니다. 당신의 quasiquoter 그 상황의 일부에서 사용되는 지원하지 않는 경우, 단지 컴파일러 오류가 발생 오류, 예컨대 :

someQuoter = QuasiQuoter { quoteType = const $ fail "type context unsupported" 
         , -- etc ... 
         } 

fail 방법은 report True를 호출을 반환합니다. 이것은 꽤 정확한 동작입니다.

2

기본적으로 변경 사항은 유형 및 선언 (표현식 및 패턴 외에도)에 대해 쿼시 분수를 만들 수 있다는 것입니다.

형식/선언 필드를 사용하지 않으려면 error "This quasiquoter doesn't support splicing types/declarations"으로 설정하는 것이 좋습니다.