2014-06-08 6 views
1

서버 측 및 클라이언트 측 코드로 모두 haskell을 사용하여 웹 응용 프로그램을 작성한다고합시다. 빌드 단계에서 서버 측 코드를 ghc으로 컴파일하고 클라이언트 측 코드를 js transpiler에 대한 일부 haskell로 컴파일하려고합니다.빌드 중 하스켈 cabal 컴파일 .js

haskell transpiler 도구는 .hs 파일로 피드해야하는 실행 파일을 노출하며 파일은 .js 개로 컴파일됩니다. 빌드 단계에서 외부 프로그램을 실행하는 데 cabal을 어떻게 지정합니까? 나는 UserHooks 필드 buildHook이 반환 유형이 IO()이라는 것을 알 수 있으므로 이론적으로는 쉘러 코드를 실행하여 셸리 코드를 실행하여 이론적으로는 셸리 라이브러리를 사용할 수 있지만 가장 깨끗한 해결책인지는 알 수 없습니다.

답변

1

Here's a post 동일한 문제를 해결하는 방법에 대해 썼습니다.

사용자 지정 설치 파일은 종속성을 처리 할 방법이 없으므로 일반적으로 좋지 않습니다. 이러한 종속성을 먼저 설치하지 않으면 sdist조차 사용할 수 없습니다.

웹 서버가 시작될 때 코드를 미리 컴파일하는 선택적 명령 줄 옵션이있는 것이 좋습니다.

또 다른 옵션은 두 가지 모두를 컴파일하는 makefile을 갖는 것입니다.