forked from yesodweb/yesodweb.com-content
-
Notifications
You must be signed in to change notification settings - Fork 0
/
homepage.html
44 lines (37 loc) · 3.17 KB
/
homepage.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<p class="what">Yesod is a Haskell web framework for productive development of type-safe, RESTful, high performance web applications.</p>
<section class="why">
<h2>Why Yesod?</h2>
<dl>
<dt>Turn runtime bugs into compile-time errors</dt>
<dd>Yesod believes in the philosophy of making the compiler your ally, not your enemy. We use the type system to enforce as much as possible, from generating proper links, to avoiding XSS attacks, to dealing with character encoding issues. In general, if your code compiles, it works. And instead of declaring types everywhere you let the compiler figure them out for you with type inference.</dd>
<dt>Asynchronous made easy</dt>
<dd>The Haskell runtime is asynchronous automatically. Instead of dealing with callbacks, you get to write normal code. By utilizing light-weight green threads and event-based system calls, your code automatically becomes non-blocking, without the pain.</dd>
<dt>Scalable and Performant</dt>
<dd>Yesod lets you write simple, high-level code, and gives you good performance. But when you need more, you can tune your compiled code for something even faster. Many of Yesod’s base libraries work exactly this way: providing a nice, safe interface for users while getting near-C performance with direct memory access. The GHC compiler ensures we get fast machine code at the end of the day.</dd>
<dt>Light-weight syntax</dt>
<dd>A lot of web development is boilerplate. Setting up routing tables, creating database schemas, and dealing with forms can all be long, repetitive code. Yesod’s has simple DSLs for templating, persistence, routing, and much more. But more importantly the DSLs are correct: they are all compile-time checked to get rid of the runtime bugs.</dd>
</dl>
<p id="learn-more">
<a href="http://yannesposito.com/Scratch/en/blog/Yesod-excellent-ideas/">Learn more</a>
or
<a href="/page/quickstart">get started</a>
</p>
</section>
<section class="getting-started">
<h2>Getting started</h2>
<ul>
<li><a href="/page/quickstart">quick start guide</a></li>
<li><a href="http://yannesposito.com/Scratch/en/blog/Yesod-tutorial-for-newbies/">tutorial</a></li>
<li><a href="/book">book</a></li>
<li><a href="https://github.com/yesodweb/yesod/wiki/Cookbook">cookbook</a></li>
<li><a href="/page/community">community</a></li>
<li><a href="/page/screencasts">screencasts</a></li>
<li><a href="/blog/2012/04/announcing-yesod-1-0">1.0 release announcement</a></li>
</ul>
<h2>Pronunciation</h2>
<p style="margin-right:20px"><a href="http://en.wikipedia.org/wiki/Wikipedia:IPA_for_Hebrew">/jɪ'sod/</a> <a style="text-decoration:none" href="http://en.wikipedia.org/wiki/Hebrew_alphabet">יְסוֺד</a>. <i>yi</i> as in <i>yip</i>, <i>sod</i> as in <i>soda</i>, stress on <i>sod</i>.
<h2>Book</h2>
<a href="http://shop.oreilly.com/product/0636920023142.do">
<img src="http://akamaicovers.oreilly.com/images/0636920023142/cat.gif" alt="Developing Web Applications with Haskell and Yesod" >
</a>
</section>