background preloader

Haskel

Facebook Twitter

Software Simply: Four Tips for New Haskell Programmers. The Haskell programming language is widely considered to have a fairly steep learning curve--at least compared with mainstream languages. In my experience with Haskell and specifically helping newcomers I've noticed a few common issues that seem to come up again and again. Some of these issues might be more avoidable if the Haskell community did a better job communicating them. Four points I have noticed are: Read Haddock API docsPay attention to type class instancesLearn about kindsLearn monad transformers Read Haddock API Docs I mention this point at the risk of stating the obvious.

ReadChan :: Chan a -> IO a A Chan is essentially a queue. TryReadChan :: Chan -> IO (Maybe a) So even with no prose documentation added at all, you can still learn a lot from the type signatures. Also, bookmark because it has links to documentation for the core libraries. Pay Attention to Type Class Instances I can't emphasize this point enough.

Software Simply: Haskell Web Framework Matrix. Software Simply: A Hopefully Fair and Useful Comparison of Haskell Web Frameworks. Recently there has been a lot of discussion and questions about the differences between the big three Haskell web frameworks: Happstack, Yesod, and Snap. Different pieces of the answer have been discussed in a number of places. In this post, I'd like to try to give a more complete comparison. Hopefully it will be relatively unbiased, but without being too watered down to be useful. I've succeeded if you can't tell which framework I'm a major contributor to based solely on the text of this post. Happstack First, up is Happstack, the oldest of the three with original commit history as early as February, 2005. Of the three frameworks, Happstack is probably the least monolithic and exists mostly as a loose collection of libraries that can be mixed and matched to suit one's needs.

While Happstack includes support for the widest range of choices, its most visible members do seem to favor a few in particular. Yesod Snap Snap is the youngest of the three frameworks. Conclusion. Wiki. Web Authoring System Haskell (WASH) WASH is a family of embedded domain specific languages (EDSL) for programming Web applications. Each language is embedded in the functional language Haskell, which means that it is implemented as a combinator library.

Currently, WASH has the following components wash2hs, a preprocessor for including literal XHTML fragments in the style of Haskell Server Pages (HSP) See here for an explanation of the syntax. WASH/CGI for server-side web scripting WASH/HTML for dynamic generation of HTML and XHTML WASH/Mail for email processing WSP, a server supporting Wash Server Pages WASH/DB, a transactional interface to SQL databases DBconnect, a simple interface to PostgreSQL (deprecated) which are described in more detail below.

Version History CGI Programming WASH/CGI is an EDSL for server-side Web scripting with Sessions, Compositional Forms, and Graphics. Resources Installation (WASH AND GO) (tested with GHC-6.6). The graphics part requires GHC 4.08.2 (tested on SUSE Linux 6.4). Read some great things about Haskel.