# Awesome Eta

> Useful resources for the Eta programming language

You might also like awesome-haskell.

Please read the contribution guidelines before contributing.

## Contents

- Introduction
  - Overview
  - First Steps
  - Comparisons
  - Compatibility
  - Official Resources
- Community
- Twitter
- Information
  - Articles
  - Blogs
  - Conferences
  - Courses
  - Talks
- Tools
- Sample Applications
  - Android
  - Web
  - Miscellaneous

## Introduction

### Overview

- Eta - Official website.
- GitHub - Eta on GitHub.
- Philosophy - Interview about the philosophy behind Eta’s development.

### First Steps

- Getting Started - First steps with Eta.
- Prelude - Default modules for an easier start.

### Comparisons

- Eta vs. Haskell - Differences between Eta and Haskell.
- Eta vs. Frege - Differences between Eta and Frege.

### Compatibility

- Etlas Packages - Hackage packages that work with Eta.
- Template Haskell - Status of Template Haskell.
- GHC 8 - Compatibility with GHC 8.

### Official Resources

- Tutorials - Eta tutorials.
- FAQ - Frequently asked questions.
- Eta Cheatsheets - Eta reference.
- Eta Blog: Java I - Using Eta with Java, part I.
- Eta Blog: Java II - Using Eta with Java, part II.
- Eta Blog: Haskell - Using Haskell packages in Eta code.
- Eta Blog: Scala - Using Eta code in Scala projects.
- Docker Hub - Docker repo for Eta.

## Community

- Google Group - Eta Google Group.
- Gitter - Gitter channel.
- IRC - IRC channel.

## Twitter

- Eta - Official Twitter account.
- TypeLead - Company behind Eta.
- Rahul Muttineni - Creator of Eta and CTO of TypeLead.

## Information

### Articles

- InfoWorld - Short article about Eta.
- Jaxenter - Functional programming made easy: Here comes Eta.

### Blogs

- Eta programming language - Official blog.
- Eta on Android - Post about using Eta on Android.

### Conferences

- ICFP - International Conference on Functional Programming.

### Courses

- FP101x - Introduction to Functional Programming on edX.

### Talks

- Introduction to Eta - Introduction by the creator of Eta.
- Introduction to Eta - Introduction to the language and its origin.
- Haskell for JVM - Talk at LambdaConf about porting a language to the JVM.
- Using Eta - Comparison of Eta and Scala.
- Eta Fibers - Concurrency on the JVM.
- ICFP Videos - Videos about functional programming.
- Functional Conf - 2016 - Bringing the Power of Haskell to the JVM.
- Functional Conf - 2017 - Eta Fibers: Towards Better Concurrency on the JVM.

## Tools

- IntelliJ Eta - Plugin for IntelliJ.
- sbt - Plugin for integrating Eta into Scala.
- gradle - Gradle plugin for Eta projects.

## Sample Applications

### Android

- eta-android - Example of Eta on Android.
- eta-android-2048 - The 2048 game for Android.

### Web

- eta-todo - Example of a Spock web application written in Eta.
- eta-yesod-minimal - Example of a Yesod web application in Eta.

### Miscellaneous

- eta-examples - Examples of Eta code.
- eta-2048 - The 2048 game written in Eta.

eta.md Github