208 lines
8.0 KiB
HTML
208 lines
8.0 KiB
HTML
<!--lint disable double-link-->
|
||
<h1 id="awesome-eta-awesome">Awesome Eta <a
|
||
href="https://awesome.re"><img src="https://awesome.re/badge.svg"
|
||
alt="Awesome" /></a></h1>
|
||
<blockquote>
|
||
<p>Useful resources for the <a href="https://eta-lang.org/">Eta</a>
|
||
programming language</p>
|
||
</blockquote>
|
||
<p>You might also like <a
|
||
href="https://github.com/krispo/awesome-haskell">awesome-haskell</a>.</p>
|
||
<p><em>Please read the <a href="contributing.md">contribution
|
||
guidelines</a> before contributing.</em></p>
|
||
<h2 id="contents">Contents</h2>
|
||
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
|
||
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
|
||
<ul>
|
||
<li><a href="#introduction">Introduction</a>
|
||
<ul>
|
||
<li><a href="#overview">Overview</a></li>
|
||
<li><a href="#first-steps">First Steps</a></li>
|
||
<li><a href="#comparisons">Comparisons</a></li>
|
||
<li><a href="#compatibility">Compatibility</a></li>
|
||
<li><a href="#official-resources">Official Resources</a></li>
|
||
</ul></li>
|
||
<li><a href="#community">Community</a></li>
|
||
<li><a href="#twitter">Twitter</a></li>
|
||
<li><a href="#information">Information</a>
|
||
<ul>
|
||
<li><a href="#articles">Articles</a></li>
|
||
<li><a href="#blogs">Blogs</a></li>
|
||
<li><a href="#conferences">Conferences</a></li>
|
||
<li><a href="#courses">Courses</a></li>
|
||
<li><a href="#talks">Talks</a></li>
|
||
</ul></li>
|
||
<li><a href="#tools">Tools</a></li>
|
||
<li><a href="#sample-applications">Sample Applications</a>
|
||
<ul>
|
||
<li><a href="#android">Android</a></li>
|
||
<li><a href="#web">Web</a></li>
|
||
<li><a href="#miscellaneous">Miscellaneous</a></li>
|
||
</ul></li>
|
||
</ul>
|
||
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
|
||
<h2 id="introduction">Introduction</h2>
|
||
<h3 id="overview">Overview</h3>
|
||
<ul>
|
||
<li><a href="https://eta-lang.org/">Eta</a> - Official website.</li>
|
||
<li><a href="https://github.com/typelead/eta">GitHub</a> - Eta on
|
||
GitHub.</li>
|
||
<li><a
|
||
href="http://blog.ezyang.com/2018/09/hiw18-lets-go-mainstream-with-eta/">Philosophy</a>
|
||
- Interview about the philosophy behind Eta’s development.</li>
|
||
</ul>
|
||
<h3 id="first-steps">First Steps</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://eta-lang.org/docs/user-guides/eta-user-guide/introduction/what-is-eta">Getting
|
||
Started</a> - First steps with Eta.</li>
|
||
<li><a href="https://github.com/eta-lang/eta-prelude">Prelude</a> -
|
||
Default modules for an easier start.</li>
|
||
</ul>
|
||
<h3 id="comparisons">Comparisons</h3>
|
||
<ul>
|
||
<li><a href="https://eta-lang.org/docs/faq#eta-not-haskell">Eta
|
||
vs. Haskell</a> - Differences between Eta and Haskell.</li>
|
||
<li><a href="https://eta-lang.org/docs/faq#eta-vs-frege">Eta
|
||
vs. Frege</a> - Differences between Eta and Frege.</li>
|
||
</ul>
|
||
<h3 id="compatibility">Compatibility</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/typelead/eta-hackage#supported-packages">Etlas
|
||
Packages</a> - Hackage packages that work with Eta.</li>
|
||
<li><a href="https://eta-lang.org/docs/faq#eta-repl-support">Template
|
||
Haskell</a> - Status of Template Haskell.</li>
|
||
<li><a href="https://eta-lang.org/docs/faq#is-eta-compatible-ghc8">GHC
|
||
8</a> - Compatibility with GHC 8.</li>
|
||
</ul>
|
||
<h3 id="official-resources">Official Resources</h3>
|
||
<ul>
|
||
<li><a href="https://eta-lang.org/docs/tutorials">Tutorials</a> - Eta
|
||
tutorials.</li>
|
||
<li><a href="https://eta-lang.org/docs/faq">FAQ</a> - Frequently asked
|
||
questions.</li>
|
||
<li><a href="https://eta-lang.org/docs/cheatsheets">Eta Cheatsheets</a>
|
||
- Eta reference.</li>
|
||
<li><a
|
||
href="https://blog.eta-lang.org/https-medium-com-jyothsnasrinivas-the-best-of-both-the-worlds-eta-and-java-part-1-336d181de89d">Eta
|
||
Blog: Java I</a> - Using Eta with Java, part I.</li>
|
||
<li><a
|
||
href="https://blog.eta-lang.org/the-best-of-both-the-worlds-eta-and-java-part-2-d7cf27acdef7">Eta
|
||
Blog: Java II</a> - Using Eta with Java, part II.</li>
|
||
<li><a
|
||
href="https://blog.eta-lang.org/eta-in-practice-working-with-haskell-packages-5dfa3dc0c98a">Eta
|
||
Blog: Haskell</a> - Using Haskell packages in Eta code.</li>
|
||
<li><a
|
||
href="https://blog.eta-lang.org/integrating-eta-into-your-scala-projects-a8d494a2c5b0">Eta
|
||
Blog: Scala</a> - Using Eta code in Scala projects.</li>
|
||
<li><a href="https://hub.docker.com/r/typelead/eta/">Docker Hub</a> -
|
||
Docker repo for Eta.</li>
|
||
</ul>
|
||
<h2 id="community">Community</h2>
|
||
<ul>
|
||
<li><a href="https://groups.google.com/forum/#!forum/eta-discuss">Google
|
||
Group</a> - Eta Google Group.</li>
|
||
<li><a href="https://gitter.im/typelead/eta">Gitter</a> - Gitter
|
||
channel.</li>
|
||
<li><a
|
||
href="https://kiwiirc.com/client/irc.freenode.net/#eta-lang">IRC</a> -
|
||
IRC channel.</li>
|
||
</ul>
|
||
<h2 id="twitter">Twitter</h2>
|
||
<ul>
|
||
<li><a href="https://twitter.com/eta_lang">Eta</a> - Official Twitter
|
||
account.</li>
|
||
<li><a href="https://twitter.com/typelead">TypeLead</a> - Company behind
|
||
Eta.</li>
|
||
<li><a href="https://twitter.com/rahulmutt">Rahul Muttineni</a> -
|
||
Creator of Eta and CTO of TypeLead.</li>
|
||
</ul>
|
||
<h2 id="information">Information</h2>
|
||
<h3 id="articles">Articles</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://www.infoworld.com/article/3157373/java/new-jvm-language-stands-apart-from-scala-clojure.html">InfoWorld</a>
|
||
- Short article about Eta.</li>
|
||
<li><a
|
||
href="https://jaxenter.com/eta-pirates-of-the-jvm-133518.html">Jaxenter</a>
|
||
- Functional programming made easy: Here comes Eta.</li>
|
||
</ul>
|
||
<h3 id="blogs">Blogs</h3>
|
||
<ul>
|
||
<li><a href="https://blog.eta-lang.org/">Eta programming language</a> -
|
||
Official blog.</li>
|
||
<li><a href="https://brianmckenna.org/blog/eta_android">Eta on
|
||
Android</a> - Post about using Eta on Android.</li>
|
||
</ul>
|
||
<h3 id="conferences">Conferences</h3>
|
||
<ul>
|
||
<li><a href="http://www.icfpconference.org/">ICFP</a> - International
|
||
Conference on Functional Programming.</li>
|
||
</ul>
|
||
<h3 id="courses">Courses</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://www.edx.org/course/introduction-functional-programming-delftx-fp101x-0">FP101x</a>
|
||
- Introduction to Functional Programming on edX.</li>
|
||
</ul>
|
||
<h3 id="talks">Talks</h3>
|
||
<ul>
|
||
<li><a href="https://www.youtube.com/watch?v=hmDLNO7Gkxs">Introduction
|
||
to Eta</a> - Introduction by the creator of Eta.</li>
|
||
<li><a
|
||
href="https://brianmckenna.org/files/presentations/lambdajam-2017-eta.pdf">Introduction
|
||
to Eta</a> - Introduction to the language and its origin.</li>
|
||
<li><a href="https://www.youtube.com/watch?v=P1dmHKJ2vak">Haskell for
|
||
JVM</a> - Talk at LambdaConf about porting a language to the JVM.</li>
|
||
<li><a
|
||
href="https://speakerdeck.com/filippovitale/using-eta-for-what-you-dont-like-writing-in-scala">Using
|
||
Eta</a> - Comparison of Eta and Scala.</li>
|
||
<li><a
|
||
href="https://rahulmutt.github.io/slides/fuconf17-eta-fibers/slides.html#1">Eta
|
||
Fibers</a> - Concurrency on the JVM.</li>
|
||
<li><a
|
||
href="https://www.youtube.com/channel/UCwRL68qZFfub1Ep1EScfmBw">ICFP
|
||
Videos</a> - Videos about functional programming.</li>
|
||
<li><a href="https://www.youtube.com/watch?v=CscBSNF6qnE">Functional
|
||
Conf - 2016</a> - Bringing the Power of Haskell to the JVM.</li>
|
||
<li><a href="https://www.youtube.com/watch?v=ZuJg2cfmSmw">Functional
|
||
Conf - 2017</a> - Eta Fibers: Towards Better Concurrency on the
|
||
JVM.</li>
|
||
</ul>
|
||
<h2 id="tools">Tools</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/typelead/intellij-eta">IntelliJ Eta</a>
|
||
- Plugin for IntelliJ.</li>
|
||
<li><a href="https://github.com/typelead/sbt-eta">sbt</a> - Plugin for
|
||
integrating Eta into Scala.</li>
|
||
<li><a href="https://github.com/typelead/gradle-eta">gradle</a> - Gradle
|
||
plugin for Eta projects.</li>
|
||
</ul>
|
||
<h2 id="sample-applications">Sample Applications</h2>
|
||
<h3 id="android">Android</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/puffnfresh/eta-android">eta-android</a>
|
||
- Example of Eta on Android.</li>
|
||
<li><a
|
||
href="https://github.com/Jyothsnasrinivas/eta-android-2048">eta-android-2048</a>
|
||
- The 2048 game for Android.</li>
|
||
</ul>
|
||
<h3 id="web">Web</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/Jyothsnasrinivas/eta-todo">eta-todo</a>
|
||
- Example of a Spock web application written in Eta.</li>
|
||
<li><a
|
||
href="https://github.com/Jyothsnasrinivas/eta-yesod-minimal">eta-yesod-minimal</a>
|
||
- Example of a Yesod web application in Eta.</li>
|
||
</ul>
|
||
<h3 id="miscellaneous">Miscellaneous</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/typelead/eta-examples">eta-examples</a>
|
||
- Examples of Eta code.</li>
|
||
<li><a href="https://github.com/rahulmutt/eta-2048">eta-2048</a> - The
|
||
2048 game written in Eta.</li>
|
||
</ul>
|
||
<p><a href="https://github.com/sfischer13/awesome-eta">eta.md
|
||
Github</a></p>
|