문자열로 주어진 하스켈 식의 형식에 대한 표현을 얻기 위해서는 (빠르고 더러운) 방법이 필요합니다. 그러나, 문서 꽤 빨리 저를 잃는다 - 사용 GHC의 API : 나는 현재 3 옵션을 참조하십시오. 다른 유형의 유추 도구를 사용하십시오 - haskell-type-exts를 사용해 보도록 제안되었지만 가장 간단한 표현을 제외한 모든 유 형을 입력하는 데 실
한다고 가정 레코드에 모듈을 구체화 I은 자동으로이 모듈을 구체화하려는 생성 된 데이터 형식 및 해당 개체 : import Foo (Moo, Goo, Car, Far, Can, Haz)
import qualified Foo
data FooModule = Foo
{ foo :: Moo -> Goo
, bar :: Car -> Far
GHC API를 사용하여 Haskell 모듈을 동적으로 컴파일하고로드하려고합니다. API가 한 버전에서 다른 버전으로 상당히 변동한다는 것을 이해합니다. 따라서 GHC 7.6. *에 대해 구체적으로 말하고 있습니다. MacOS 및 Linux에서 동일한 코드를 실행 해 보았습니다. 두 경우 모두 Plugin 모듈은 정상적으로 컴파일되지만로드시 다음 오류를 제
GHC 코어를 생성하는 간단한 언어에 대한 프론트 엔드를 만들고 싶습니다. 그런 다음이 출력을 받아 정상적인 GHC 파이프 라인을 통해 실행하고 싶습니다. this page에 따르면 ghc 명령으로 직접 가능하지 않습니다. 나는 어떤 방법이 있는지 궁금합니다. ghc-api에 대한 몇 가지 함수 호출이 이상적이지만 GHC 소스에 (너무 광범위하지 않은) 해
나는 하스켈의 간단한 텍스트 편집기에서 작업하고 있는데, 사용자가" 검사." GHC-API를 사용하여 실제로 컴파일하지 않고 haskell 파일을 컴파일하는 "dry-run"을 수행하는 방법이 있습니까? 문자열을 가져 와서 일반 컴파일의 모든 검사를 수행 할 수는 있지만 출력은 없어도됩니다. GHC-API는 오류를 강조하기 위해 GHC의 명령 행 출력을 구
큰 대학 프로젝트의 작은 부분으로서, 본질적으로 매우 조잡한 IDE 인 것을 써야합니다. 아이디어는 gtk 텍스트 상자에서 입력을 가져 와서 해당 .hs 파일에있는 것처럼 처리하고 그 안에있는 함수를 평가하는 것입니다. 내 주요 접근 방식은 GHC API을 사용하여 테스트 기능을 컴파일하고 평가하는 것이 었습니다. 나는 이미 .hs 파일에서 컴파일하기 위해
example file 다음에 동적으로 IO 작업을 호출하려고합니다. testHint :: Interpreter()
testHint = do
setImportsQ [("Prelude", Nothing)]
let somecode = "putStrLn \"some string\""
interpret somecode
런타임에 TemplateHaskell 생성 코드를 생성하고 실행할 수 있습니까? 나는, 실행시에, C를 사용하여 다음을 수행 할 수 있습니다 함수의 소스 코드를 작성, GCC에 콜 아웃이 .so를 (리눅스) (또는 사용 LLVM 등으로 컴파일 .), .so를로드하고 함수를 호출하십시오. Template Haskell과 비슷한 점이 있습니까?
계속 나는이 모듈을로드하고 표현의 유형 얻기 위해 GHC API를 사용하여 다음 코드를 typeObjects :: [String] -> [String] -> IO [Type]
typeObjects modules objects = do
defaultErrorHandler defaultDynFlags $ do
runGhc (Just libd