2013-07-29 5 views
2

방금 ​​Yesod에 대해 듣고 책을 읽기 시작했습니다. 셰익스피어의 3/4 단락에서 그들은 말했습니다 ...예밋 (GHC) 대신에 햄릿 (Hallet)을 GHCI로 재 장전하셨습니까?

"햄릿은 Cassius, Lucius, Julius만이 재로드 모드를 사용할 수 없습니다. 햄릿에 정교한 기능이 너무 많아서 햄릿에 직접 의존하지 않습니다. 하스켈 컴파일러이며 실행 시간에 다시 구현할 수 없습니다. "

즉, 서버은 HTML을 변경할 때마다 다시 컴파일해야합니까? Ghci를 사용하여 라이브 컴파일을 수행하는 것이 좋을지, 아니면 이미 Yesod의 절정에 사용 된 기술입니까?

이 소프트웨어는 더 장엄한 프로젝트 중 하나처럼 보입니다. 나는 정말로 Yesod와 일반적인 프로그래밍 스타일에 대해 더 많이 배우기를 고대합니다!

답변

1

(a) Hamlet 파일을 변경 한 후에 응용 프로그램을 배포할지 묻는 경우 또는 (b) 개발 중에 수동으로 다시 컴파일하지 않고도 실시간 피드백이 필요한 경우 확실하지 않습니다.

어쨌든 (a) 인 경우 : 직접 작성한 것은 아니지만 대답이 '예'라고 생각하면 재 컴파일 및 재배포해야합니다.

(b) : yesod --dev devel을 사용하여 서버를 시작하면 변경 사항을 수신하고 자동으로 다시 컴파일됩니다. 페이지를 새로 고치면 변경 사항이 표시되거나 오류가 있으면 로그에 표시됩니다.

희망 하시겠습니까?

+0

하지만 내 주요 질문은 서버를 분해하여 다시 컴파일 한 다음 다시 시작해야한다는 요구에서 비롯되었습니다. ghci 내에서 완전히 개발할 수 있습니까? 새 기능을 다시 작성하고 서버로 작동하는 runnning 기능을 종료 한 다음 새 서버 (기능)를 교체하십시오. 나는이 질문이 더 구체적으로 yesod와는 달리 iskell 자체의 실시간 애플리케이션 개발의 실현 가능성을 다루어야한다고 생각한다. 나는 모든 프로그램을 haskell로 작성하여 선택적으로 개발 모드에있게하는 것이 좋을 것이라고 생각한다. 코드는 on-the-fly로 컴파일되고 앱을 중단하지 않는다. –