2012-01-16 3 views

답변

3

나는 GHC API가 AST 인터페이스를 노출한다고 생각하지 않지만 틀릴 수도있다.하지만 Template Haskell은 그렇다. Language.Haskell.THExp 구조체를 사용하여 표현식을 작성하는 경우 함수/선언문을 만들고 $(someTHFunction) 구문을 사용하여 표현식을 사용할 수 있습니다.

TH는 컴파일시에만 실행되므로 모든 것을 사전 생성해야합니다. 런타임에 TH를 사용하려면 템플릿 haskell AST를 예쁜 것으로 인쇄 한 다음 결과 문자열에 GHC API를 사용해야한다고 생각합니다.

+1

또한 Template Haskell 소스 코드를 생성 할 수 있습니다. 이것은 AST 표현식 생성과 하스켈 텍스트 소스 생성 사이의 절충안으로 간주 될 수 있습니다. – modular