Na scénu sa dostal ďalší jazyk JVM, dialekt Haskell Eta, ktorý sa opäť sústredil na funkčné programovanie.
Eta je určený na vytváranie škálovateľných systémov a je funkčným jazykom so silnými typmi. Je to podobné ako Scala, jazyk JVM, ktorý tiež zdôrazňuje funkčné programovanie a škálovateľnosť, a Clojure, ďalší funkčný jazyk na JVM.
Ale Eta sa od týchto konkurentov odlišuje, pretože je štandardne nemenná, používa lenivé hodnotenie a má veľmi výkonný systém typov, uviedol zakladateľ Eta Rahul Muttineni, CTO spoločnosti TypeLead, ktorá dohliada na jazyk. Táto kombinácia umožňuje statické záruky a stručnosť, ktoré v prípade Scala alebo Clojure jednoducho nie sú možné.
Momentálne vo verzii 0.0.5 vo vydaní alfa je Eta interoperabilná s Javou, čo umožňuje opätovné použitie knižníc Java v projektoch Eta a použitie Eta modulov v Jave. Silná bezpečnosť typu umožňuje vývojárom povedať kompilátorovi viac informácií o kóde, zatiaľ čo nemennosť v Eta zvyšuje súbežnosť.
Eta tiež ponúka čistotu, pri ktorej volanie funkcie s rovnakými argumentmi prináša zakaždým rovnaké výsledky; s definíciami funkcií sa zaobchádza ako s rovnicami a substitúcie je možné vykonávať ako v matematike. Navrhovatelia Eta tvrdia, že to uľahčuje pochopenie kódu a predchádza množstvu chýb typických pre imperatívne jazyky. „Čistota vám umožňuje v matematike zaobchádzať s vašim kódom ako s rovnicami a výrazne uľahčuje uvažovanie o vašom kóde, najmä v nastaveniach súbežnosti a paralelnosti,“ uviedol Muttineni.
Eta je v predvolenom nastavení „lenivá“, čo znamená, že údaje zostávajú v nevyhodnocovanom stave, kým nejaká funkcia potrebuje vidieť dovnútra. To umožňuje vývojárom programovať bez obáv z toho, či vykonali viac výpočtov, ako bolo potrebné. Vývojári tiež môžu napísať viacpriechodové algoritmy naraz. „Lenivosť vám umožňuje prestať sa obávať poradia, v ktorom píšete svoje vyhlásenia,“ uviedol Muttineni. „Stačí zadať dátové závislosti definovaním výrazov a ich vzájomných vzťahov a kompilátor ich vykoná v správnom poradí a iba v prípade, že sú výrazy potrebné.“
Plány volajú po vybavení Ety súčasným runtime, interaktívnym REPL, metaprogramovaním, masívnym paralelizmom a transakčnou súbežnosťou. Vo vývoji je tiež podpora pre správcu zostavenia Maven a hlavná knižnica spolu s generovaním štandardných platforiem pre import Java Foreign Function Interface.