[Haskell-beginners] Help - I'm completely lost with building a really simple app with Snap and Groundhog
Peter Harpending
peter at harpending.org
Sat Jun 20 23:53:24 UTC 2015
And I just realized I based all of this off of what was in the master
branch. Oh well. See if it's helpful anyway.
Peter Harpending
On Sat, Jun 20, 2015 at 05:50:49PM -0600, Peter Harpending wrote:
> On Sat, Jun 20, 2015 at 09:54:27PM +0200, Matthias Beyer wrote:
> > I am learning Haskell by trying to implement a really simple CRUD like
> > web app with Snap and Groundhog - and I'm completely lost, cannot get
> > it to work.
>
> Since you seem to know what all of those things are, I'm going to assume
> you have some background in imperative programming. This assumption is
> backed by your GitHub history.
>
> I'm guessing, after the initial few languages, with most programming
> languages you've encountered thus far, you can learn a new one in a week
> or two.
>
> Haskell isn't like other languages. It requires a fundamentally
> different manner of thinking about your program. It's like learning to
> program all over again. It is worth it, I promise.
>
> As for learning Haskell, Chris Allen's tutorial has links to resources
> covering everything under the sun:
> <https://github.com/bitemyapp/learnhaskell>.
>
> Now, regarding your actual question: what's wrong with the code you have
> posted?
>
> 1. First of all, your dependencies are way too strict in your cabal
> file. In fact, most of them conflict. I couldn't even run `cabal
> install`.
>
> If you want to make sure the packages play together nicely, you
> should use Stackage <http://www.stackage.org>.
>
> 2. Nobody uses old versions of base anymore. You don't need that
> old-base stuff.
>
> 3. Your cabal file needs a default-language field.
>
> 4. Snap is a bit labor-intensive. Yesod <http://www.yesodweb.com> is
> much more well-suited for non-trivial web applications.
>
> Once I cleaned up the cabal file, I was able to get the standard Hello,
> World Snap application running on localhost.
>
> I forked your repository on GitHub. You can see the changes I made here:
> <https://github.com/matthiasbeyer/rate.hs/compare/master...pharpend:master>. Note
> that I am using GHC 7.10, which is the latest version. You might be on
> an old version of GHC, in which case, you should do the following:
>
> rm cabal.config
> cabal install
> cabal freeze
>
> To run the application, I just used `cabal run`.
>
> Peter Harpending
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://mail.haskell.org/pipermail/beginners/attachments/20150620/6af1036a/attachment.sig>
More information about the Beginners
mailing list