yesodweb/yesod — pull request #446 by snoyberg (2012-11-02 06:37:00+00:00)
Title: Additional yesod devel changes

There are three commits here, corresponding to three changes.

1. The simplest is built-in ignoring of the `fay` subfolder.
2. The "app not loaded" is relatively simple, though not as trivial. Instead of the process listening on port 3000 and users connecting directly to it, the process listens on 3001 and yesod devel itself runs a reverse proxy from 3000 to 3001. If the user process isn't responding, then a "not yet ready" page is sent to the user with a refresh header. Going forward, we could improve this by displaying build progress and error messages.
3. The most complicated is dealing with changes in Shakespeare. The goal is to force a recompile when a Shakespeare file changes its dependencies. So if you add `@{FooR}@` to a Julius file, then the Haskell source file must be recompiled. Otherwise, it should not be. I'm most concerned about how I wrote this commit.

@luite @gregwebs Can you have a look at these?