Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fay integration for Snap that provides automatic (re)compilation during development
JavaScript Haskell Smarty CSS HTML

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
example
resources
src
test-files
.gitignore
LICENSE
README.md
Setup.hs
TODO
snaplet-fay.cabal

README.md

Snaplet Fay

Snaplet Fay integrates Snap with Fay. Snap is a Haskell web framework and Fay is a compiler from a proper subset of Haskell to JavaScript. Snaplet Fay integrates them nicely with each other allowing automatic (re)compilation of Fay source files. Snap provides this for both static content and haskell sources preventing web server restarts and here we add Fay to this list as well. This lets us write both front and back-end code in Haskell.

Installation

You will need Haskell, Snap and Fay installed. The simplest way to get up and running with Haskell is to install The Haskell Platform.

Snap and Fay are available on hackage, but use chrisdone's master for now:

cabal install snap
git clone https://github.com/faylang/fay.git && cd fay && cabal install

Clone this repository and install the package:

cabal install

Example Usage

Site.hs:

import Snap.Snaplet.Fay

app :: SnapletInit App App
app = makeSnaplet "app" "A snaplet example application." Nothing $ do
  fay' <- nestSnaplet "fay" fay initFay
  return $ App { _fay = fay' }

Application.hs:

import Snap.Snaplet.Fay

data App = App { _fay :: Snaplet Fay }

makeLens ''App

Development Status

Snaplet Fay is functioning and will be updated to keep up with both Snap and Fay.

Contributions

Fork on!

Any enhancements are welcome.

To run the tests, do:

cabal configure -ftest
cabal build
./dist/build/test/test

Contact

File an issue, e-mail or visit #fay @ irc.freenode.net.

Something went wrong with that request. Please try again.