Send Beginners mailing list submissions to beginners@haskell.org To subscribe or unsubscribe via the World Wide Web, visit http://www.haskell.org/mailman/listinfo/beginners or, via email, send a message with subject or body 'help' to beginners-requ...@haskell.org
You can reach the person managing the list at beginners-ow...@haskell.org When replying, please edit your Subject line so it is more specific than "Re: Contents of Beginners digest..." Today's Topics: 1. Re: happstack versus yesod (aditya siram) 2. Re: Happstack dependency problems (Daniel Fischer) 3. Re: Happstack dependency problems (Tom Murphy) ---------------------------------------------------------------------- Message: 1 Date: Tue, 5 Apr 2011 14:04:07 -0500 From: aditya siram <aditya.si...@gmail.com> Subject: Re: [Haskell-beginners] happstack versus yesod To: Ramy Abdel-Azim <ramy.abdela...@gmail.com> Cc: beginners@haskell.org, web-devel <web-de...@haskell.org> Message-ID: <banlktin5twu+wqwr0vvghpq9hs0kssz...@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1 to also solidify what > knowledge of haskell i've acquired, I should go with Happstack. That doesn't follow. Either project will help you get better with Haskell. Unless you're looking to build a static site, in which case these frameworks are overkill and Hakyll [1] is a good option. As of now, Yesod [2] is much better documented than Happstack. As a Haskell beginner this is far more important to me than the use of quasiquoting. By the way, the happstack-state project (which is used to {de}serialize data structures to disk) is heavily dependent on quasiquoting. The Happstack project has a lot going for it and it has been around longer and thus might be considered more mature, but just from the quality of Yesod's website, documentation and the responsiveness of the lead developer it seems like a more beginner friendly project. -deech [1] http://jaspervdj.be/hakyll/ [2] http://www.yesodweb.com/ > > On Tue, Apr 5, 2011 at 2:32 PM, Michael Snoyman <mich...@snoyman.com> wrote: >> >> This probably isn't the right forum for expressing this thought, but here >> goes anyway: >> What exactly is the freedom that Yesod takes away from you? I know this >> idea gets passed around a lot: Yesod isn't "really" Haskell, Yesod is its >> own language, etc. But all of that is really just talking about some sugar >> that Yesod puts in place for you: under the surface, it's just functions, >> data types and type classes. You can go ahead and write a complete Yesod >> application without using Template Haskell of QuasiQuotation. >> So what's the restriction that Yesod has that Happstack/Snap don't? Yesod >> requires you to provide some datatypes. That's it. What's the purpose of the >> datatypes? Mostly, it's about type-safe URLs. I'm not exactly sure why the >> term "restriction" or "freedom" even applies here: Yesod has a *feature* >> that Happstack/Snap do not include out of the box. >> Let me phrase this in a different way: "But I don't like Haskell, because >> the idea of Python in more interesting for me. Python gives you some >> freedom." I really do see this as the same argument. You can go ahead and >> right some code without static type checking in Python, and you might even >> write it faster than you would have in Haskell. But go ahead and start >> making changes, and unless you have some very good unit tests, you're in for >> a world of hurt. In Haskell, often times the compiler will save you from >> yourself. >> The same is true in Yesod. I've refactored incredibly large codebases, >> with hundreds of different resource patterns, and *never* had to worry about >> 404s. Maybe some people consider that giving up freedom. I consider it >> giving up the freedom to shoot yourself in the foot. >> Oh, and if you are absolutely dependent on the idea of getting rid of this >> data-type requirements, and want all the freedom of dynamic routes, you can >> try out a 44 line module[1] that I mentioned recently[2]. >> OK, enough of this rant. I'm not trying to attack you, I'm just tired of >> this notion that Yesod is a ball-and-chain around your ankles. People can >> have legitimate reasons to prefer Happstack or Snap to Yesod, I've never >> claimed that it was a perfect framework for everyone. I just don't think >> this is one of those legitimate reasons. >> Michael >> [1]?https://gist.github.com/884802 >> [2]?http://osdir.com/ml/general/2011-04/msg02160.html >> >> On Tue, Apr 5, 2011 at 8:35 PM, Alexey G <kreed...@gmail.com> wrote: >>> >>> Hello. It's very interesting theme for me and I want to express my >>> opinion. >>> Yesod - very fast >>> web-framework(http://www.yesodweb.com/blog/preliminary-warp-cross-language-benchmarks). >>> But I don't like Yesod, because idea of Happstack more interesting for >>> me. Happstack gives to you some freedom. >>> I trying to use Snap Framework now. And it's very good for me. Try >>> it?http://snapframework.com/! >>> Sorry for my english. >>> >>> 2011/4/5 Ramy Abdel-Azim <ramy.abdela...@gmail.com> >>>> >>>> I already posted about this a little bit but i think i should let the >>>> old thread get back to it's regularly scheduled conversaion. on to my >>>> question: >>>> So I know there are a million easier ways to createa ?blog (wordpress, >>>> django, drupal, etc. etc.) but which would you recommend I use to build a >>>> beginner website that is simliar to a blog: happstack or yesod? >>>> _Ramy >>>> _______________________________________________ >>>> Beginners mailing list >>>> Beginners@haskell.org >>>> http://www.haskell.org/mailman/listinfo/beginners >>>> >>> >>> >>> _______________________________________________ >>> Beginners mailing list >>> Beginners@haskell.org >>> http://www.haskell.org/mailman/listinfo/beginners >>> >> >> >> _______________________________________________ >> Beginners mailing list >> Beginners@haskell.org >> http://www.haskell.org/mailman/listinfo/beginners >> > > > _______________________________________________ > Beginners mailing list > Beginners@haskell.org > http://www.haskell.org/mailman/listinfo/beginners > > ------------------------------ Message: 2 Date: Tue, 5 Apr 2011 21:04:00 +0200 From: Daniel Fischer <daniel.is.fisc...@googlemail.com> Subject: Re: [Haskell-beginners] Happstack dependency problems To: beginners@haskell.org Message-ID: <201104052104.00760.daniel.is.fisc...@googlemail.com> Content-Type: Text/Plain; charset="utf-8" On Tuesday 05 April 2011 20:25:36, Tom Murphy wrote: > Hi all, > > I'm having build troubles with Happstack. I'll let the error message > speak for itself: > > " > $ export PATH=~/.cabal/bin:$PATH > $ cabal update > $ cabal install happstack > Resolving dependencies... > cabal: cannot configure unix-2.4.2.0. It requires base >=4.2 && <4.4 > For the dependency on base >=4.2 && <4.4 there are these packages: > base-4.2.0.0, base-4.2.0.1, base-4.2.0.2, base-4.3.0.0 and base-4.3.1.0. > However none of them are available. > base-4.2.0.0 was excluded because of the top level dependency base -any > base-4.2.0.1 was excluded because of the top level dependency base -any > base-4.2.0.2 was excluded because of the top level dependency base -any > base-4.3.0.0 was excluded because of the top level dependency base -any > base-4.3.1.0 was excluded because of the top level dependency base -any > " Yes, that error message is terrible. What it means is that for some reason, cabal can't choose any of these versions. However, it's suspicious that it tries to install unix-2.4.2.0 at all. You should have a unix package installed that came with your ghc, and that should be used. Have you any packages in your user-db which shadow packages in the global db? What does ghc-pkg check report, and what does $ cabal install -v3 --dry-run happstack say? > > Thank you for any help! > Tom ------------------------------ Message: 3 Date: Tue, 5 Apr 2011 15:08:10 -0400 From: Tom Murphy <amin...@gmail.com> Subject: Re: [Haskell-beginners] Happstack dependency problems To: Daniel Fischer <daniel.is.fisc...@googlemail.com>, ha...@googlegroups.com Cc: beginners@haskell.org Message-ID: <banlktin6zssvvb37ubzmwsojuwakbv2...@mail.gmail.com> Content-Type: text/plain; charset="iso-8859-1" $ ghc-pkg check report ghc-pkg: command-line syntax error Usage: ghc-pkg register {filename | -} [...] $ cabal install -v3 --dry-run happstack searching for ghc in path. found ghc at /opt/local/bin/ghc ("/opt/local/bin/ghc",["--numeric-version"]) /opt/local/bin/ghc is version 6.10.4 looking for package tool: ghc-pkg near compiler in /opt/local/bin found package tool in /opt/local/bin/ghc-pkg ("/opt/local/bin/ghc-pkg",["--version"]) /opt/local/bin/ghc-pkg is version 6.10.4 ("/opt/local/bin/ghc",["--supported-languages"]) Reading installed packages... ("/opt/local/bin/ghc-pkg",["dump","--global"]) ("/opt/local/bin/ghc-pkg",["dump","--user"]) ("/opt/local/bin/ghc",["--print-libdir"]) Reading available packages... Resolving dependencies... selecting happstack-6.0.0 (hackage) and discarding happstack-0.2.1, 0.3.1, 0.3.2, 0.4.1, 0.5.0, 0.5.0.2, 0.5.0.3, happstack-data-0.1, 0.2.1, 0.3.1, 0.3.2, 0.3.3, 0.4.1, 0.5.0, 0.5.0.2, 0.5.0.3, happstack-ixset-0.1, 0.2.1, 0.3.1, 0.3.2, 0.4.1, 0.5.0, 0.5.0.1, 0.5.0.2, 0.5.0.3, happstack-server-0.1, 0.2.1, 0.3.1, 0.3.2, 0.3.3, 0.4.1, 0.5.0, 0.5.0.2, 0.5.0.3, 0.5.0.4, happstack-state-0.1, 0.2.1, 0.3.1, 0.3.2, 0.3.3, 0.3.4, 0.4.1, 0.5.0, 0.5.0.2, 0.5.0.3, 0.5.0.4, happstack-util-0.1, 0.2.1, 0.3.1, 0.3.2, 0.4.1, 0.5.0, 0.5.0.1, 0.5.0.2 and 0.5.0.3 selecting happstack-data-6.0.0 (hackage) and discarding mtl-1.0, syb-with-class-0.6.1, 0.6.1.1, text-0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.7.0.1, 0.7.1.0, 0.7.2.1, 0.8.0.0, 0.8.1.0, 0.9.0.0, 0.9.0.1, 0.9.1.0, time-1.0, 1.1.2.0, 1.1.2.1, 1.1.2.2, 1.1.2.3, 1.1.2.4 and 1.1.3 selecting happstack-ixset-6.0.0 (hackage) selecting happstack-state-6.0.0 (hackage) selecting happstack-util-6.0.0 (hackage) and discarding network-2.0 and 2.1.0.0 selecting syb-with-class-instances-text-0.0.1 (hackage) selecting happstack-server-6.0.3 (hackage) and discarding blaze-html-0.1, 0.1.1, 0.1.2, 0.2, 0.2.1, 0.2.2, 0.2.3, 0.2.4.0, happstack-server-6.0.0, 6.0.1, 6.0.2, network-2.2.3, 2.2.3.1, 2.3, 2.3.0.1, 2.3.0.2, sendfile-0.1, 0.2, 0.3, 0.3.1, 0.4, 0.5, 0.6.1, 0.6.2, 0.7.0, utf8-string-0.1, 0.2, 0.3, 0.3.1, 0.3.1.1, 0.3.2 and 0.3.3 selecting sendfile-0.7.3 (hackage) and discarding sendfile-0.7.1 and 0.7.2 selecting network-bytestring-0.1.3.4 (hackage) and discarding network-2.2.0.0, 2.2.0.1, 2.2.1, network-bytestring-0.1, 0.1.1, 0.1.1.1, 0.1.1.2, 0.1.1.3, 0.1.1.4, 0.1.2, 0.1.2.1, 0.1.3, 0.1.3.1, 0.1.3.2 and 0.1.3.3 selecting zlib-0.5.0.0 (installed or hackage) and discarding zlib-0.2, 0.3, 0.4, 0.4.0.1, 0.4.0.2, 0.4.0.3, 0.4.0.4, 0.5.2.0 and 0.5.3.1 selecting html-1.0.1.2 (installed or hackage) and discarding html-1.0 and 1.0.1.1 selecting xhtml-3000.2.0.1 (installed or hackage) and discarding xhtml-3000.0.0, 3000.0.1, 3000.0.2.1, 3000.0.2.2, 3000.1.0.0 and 3000.2.0.0 selecting stm-2.2.0.1 (installed or hackage) and discarding stm-2.1, 2.1.1.0, 2.1.1.2, 2.1.2.0, 2.1.2.1, 2.1.2.2 and 2.2.0.0 selecting unix-compat-0.2.1.1 (hackage) and discarding unix-2.0, 2.2.0.0, 2.3.0.0, 2.3.1.0, 2.3.2.0, unix-compat-0.1, 0.1.1, 0.1.2.0, 0.1.2.1, 0.2 and 0.2.1 selecting blaze-html-0.4.1.0 (hackage) and discarding blaze-builder-0.1, 0.2.0.0, 0.2.0.1, 0.2.0.2, 0.2.0.3, 0.3.0.0, blaze-html-0.3.0.0, 0.3.0.1, 0.3.0.2, 0.3.0.4, 0.3.1.0, 0.3.2.0, 0.3.2.1 and 0.4.0.0 selecting blaze-builder-0.2.1.4 (hackage) and discarding blaze-builder-0.2.1.0, 0.2.1.1, 0.2.1.2 and 0.2.1.3 selecting binary-0.5.0.2 (installed or hackage) and discarding binary-0.2, 0.3, 0.4, 0.4.1, 0.4.2, 0.4.3, 0.4.3.1, 0.4.4, 0.5 and 0.5.0.1 selecting hslogger-1.1.4 (installed or hackage) and discarding hslogger-1.0.2, 1.0.4, 1.0.5, 1.0.6, 1.0.7, 1.0.9, 1.0.10, 1.0.11, 1.0.12, 1.1.0, 1.1.1, 1.1.2 and 1.1.3 selecting MaybeT-0.1.2 (installed or hackage) and discarding MaybeT-0.1.0 and 0.1.1 selecting network-2.2.1.4 (installed or hackage) and discarding network-2.2.1.1, 2.2.1.2, 2.2.1.3, 2.2.1.5, 2.2.1.6, 2.2.1.7, 2.2.1.8, 2.2.1.9 and 2.2.1.10 selecting text-0.11.0.6 (hackage) and discarding deepseq-1.0.0.0, text-0.10.0.0, 0.10.0.1, 0.10.0.2, 0.11.0.0, 0.11.0.1, 0.11.0.2, 0.11.0.3, 0.11.0.4 and 0.11.0.5 selecting ghc-prim-0.1.0.0 (installed) selecting rts-1.0 (installed) selecting extensible-exceptions-0.1.1.0 (installed or hackage) and discarding extensible-exceptions-0.1.0.1, 0.1.1.1 and 0.1.1.2 selecting deepseq-1.1.0.2 (hackage) and discarding deepseq-1.1.0.0 and 1.1.0.1 selecting parsec-2.1.0.1 (installed or hackage) and discarding parsec-2.0, 2.1.0.0, 3.0.0, 3.0.1, 3.1.0 and 3.1.1 selecting syb-with-class-0.6 (hackage) and discarding syb-with-class-0.1, 0.2, 0.3, 0.4, 0.5, 0.5.1, template-haskell-2.4.0.0, 2.4.0.1 and 2.5.0.0 selecting template-haskell-2.3.0.1 (installed or hackage) and discarding template-haskell-2.2.0.0 and 2.3.0.0 selecting packedstring-0.1.0.1 (installed or hackage) and discarding packedstring-0.1.0.0 selecting utf8-string-0.3.6 (hackage) and discarding utf8-string-0.3.4 and 0.3.5 selecting random-1.0.0.1 (installed or hackage) and discarding random-1.0.0.0, 1.0.0.2 and 1.0.0.3 selecting time-1.1.4 (installed or hackage) and discarding time-1.2, 1.2.0.1, 1.2.0.2, 1.2.0.3 and 1.2.0.4 selecting mtl-2.0.1.0 (installed or hackage) and discarding mtl-1.1.0.0, 1.1.0.1, 1.1.0.2, 1.1.1.0, 1.1.1.1, 2.0.0.0, transformers-0.0.0.0, 0.0.1.0, 0.1.0.0, 0.1.0.1, 0.1.1.0, 0.1.3.0 and 0.1.4.0 selecting transformers-0.2.2.0 (installed or hackage) and discarding transformers-0.2.0.0 and 0.2.1.0 selecting process-1.0.1.1 (installed or hackage) and discarding directory-1.1.0.0, filepath-1.0, 1.2.0.0, process-1.0.0.0, 1.0.1.2, 1.0.1.3, 1.0.1.4 and 1.0.1.5 selecting pretty-1.0.1.0 (installed or hackage) and discarding pretty-1.0.0.0, 1.0.1.1 and 1.0.1.2 selecting directory-1.0.0.3 (installed or hackage) and discarding directory-1.0.0.0, 1.0.1.0, 1.0.1.1 and 1.0.1.2 selecting cabal: cannot configure unix-2.4.2.0. It requires base >=4.2 && <4.4 For the dependency on base >=4.2 && <4.4 there are these packages: base-4.2.0.0, base-4.2.0.1, base-4.2.0.2, base-4.3.0.0 and base-4.3.1.0. However none of them are available. base-4.2.0.0 was excluded because of the top level dependency base -any base-4.2.0.1 was excluded because of the top level dependency base -any base-4.2.0.2 was excluded because of the top level dependency base -any base-4.3.0.0 was excluded because of the top level dependency base -any base-4.3.1.0 was excluded because of the top level dependency base -any Thanks for your time. Tom On Tue, Apr 5, 2011 at 3:04 PM, Daniel Fischer < daniel.is.fisc...@googlemail.com> wrote: > On Tuesday 05 April 2011 20:25:36, Tom Murphy wrote: > > Hi all, > > > > I'm having build troubles with Happstack. I'll let the error message > > speak for itself: > > > > " > > $ export PATH=~/.cabal/bin:$PATH > > $ cabal update > > $ cabal install happstack > > Resolving dependencies... > > cabal: cannot configure unix-2.4.2.0. It requires base >=4.2 && <4.4 > > For the dependency on base >=4.2 && <4.4 there are these packages: > > base-4.2.0.0, base-4.2.0.1, base-4.2.0.2, base-4.3.0.0 and base-4.3.1.0. > > However none of them are available. > > base-4.2.0.0 was excluded because of the top level dependency base -any > > base-4.2.0.1 was excluded because of the top level dependency base -any > > base-4.2.0.2 was excluded because of the top level dependency base -any > > base-4.3.0.0 was excluded because of the top level dependency base -any > > base-4.3.1.0 was excluded because of the top level dependency base -any > > " > > Yes, that error message is terrible. > What it means is that for some reason, cabal can't choose any of these > versions. > > However, it's suspicious that it tries to install unix-2.4.2.0 at all. > You should have a unix package installed that came with your ghc, and that > should be used. > > Have you any packages in your user-db which shadow packages in the global > db? > What does ghc-pkg check report, and what does > > $ cabal install -v3 --dry-run happstack > > say? > > > > > Thank you for any help! > > Tom > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://www.haskell.org/pipermail/beginners/attachments/20110405/b69c0da1/attachment.htm> ------------------------------ _______________________________________________ Beginners mailing list Beginners@haskell.org http://www.haskell.org/mailman/listinfo/beginners End of Beginners Digest, Vol 34, Issue 13 *****************************************