<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
   <head>
      <title>Documentation</title>
      <link rel="stylesheet" href="book.css" charset="utf-8" type="text/css">
   </head>

   <body>
   	  <div id="banner">
   	  	<img src="help_banner.jpg"></img>
   	  </div>
      <div id="content">
      <h1>
         Documentation
      </h1>
      
      <p>
      	There are several places where you can find different types of documentation
      	for Epsilon depending on your needs and skills with Epsilon.
      </p>
      
	  <h2>The cinema</h2>
      
      <p>
      	For most people, the entry-point to Epsilon is <a href="http://www.eclipse.org/epsilon/cinema">http://www.eclipse.org/epsilon/cinema</a>, 
      	which contains flash screencasts demonstrating key-languages and tools of Epsilon.
      </p>
      
      <h2>The examples</h2>
      <p>
      	The best way to get your hands dirty with Epsilon is 
      	to have a look at the <a href="http://www.eclipse.org/epsilon/examples/">
      	online examples</a>, and play with them in your machine.
      </p>
      
      <h2>The book</h2>
      
      <p>
         We have put together a <a href="http://www.eclipse.org/epsilon/doc/book">
         PDF e-book</a> which provides a complete reference of the syntax and semantics of the 
         languages in Epsilon. We are doing our best to keep the book up to
         date with developments in Epsilon but if you think you've found any inconsistencies/errors, 
         we'd really appreciate it if you'd let us know.
      </p>
     	
      <h2>The blog</h2>
      <p>
      	In <a href="http://epsilonblog.wordpress.com">http://epsilonblog.wordpress.com</a> we 
      	publish new and noteworthy features of Epsilon. You can subscribe to the blog
      	using one of the free online tools (e.g. <a href="http://www.google.com/reader">Google Reader</a>)
      	to stay up to date with all the recent developments in Epsilon.
      </p>
      
      <h2>Twitter</h2>
      <p>
      	Follow <a href="http://www.twitter.com/epsilonews">@epsilonews</a> on Twitter to stay in touch with
      	the cutting edge of development in Epsilon.
      </p>
      
      <h2>The labs</h2>
      <p>
      	Some of the things we are working on are either too immature to include in the main release
      	or have dependencies
      	that conflict with EPL and therefore they cannot be hosted on eclipse.org.
      	Therefore, we have launched a satellite project of Epsilon at Sourceforge called <a href="http://epsilonlabs.sourceforge.net">EpsilonLabs</a>, 
      	where we host this sort of stuff.
      </p2>
      
   </body>
</html>
