Skip to content
/ eo Public
forked from objectionary/eo

EOLANG, an Experimental Object-Oriented Programming Language Based on 𝜑-calculus

License

Notifications You must be signed in to change notification settings

Vichukano/eo

 
 

Repository files navigation

logo

EO principles respected here DevOps By Rultor.com We recommend IntelliJ IDEA

mvn-linux PDD status Maintainability Maven Central codecov Hits-of-Code Lines of code License FOSSA Status Codacy Badge Known Vulnerabilities Code Smells

EO (stands for Elegant Objects or ISO 639-1 code of Esperanto) is an object-oriented programming language based on 𝜑-calculus. We're aware of popular semi-OOP languages and we don't think they are good enough, including: Java, Ruby, C++, Smalltalk, Python, PHP, C#. All of them have something we don't tolerate:

  • types (why?)
  • static/class methods or attributes (why?)
  • classes (why?)
  • implementation inheritance (why?)
  • mutability (why?)
  • NULL (why?)
  • global scope (why?)
  • type casting (why?)
  • reflection (why?)
  • scalar types and data primitives
  • annotations (why?)
  • operators
  • traits and mixins (why?)
  • flow control statements (for, while, if, etc)
  • syntactic sugar (why?)

Quick Start

First, install Java SE, npm, and eoc.

Then, start with a simple EO program in app.eo file:

[args...] > app
  QQ.io.stdout > @
    "Hello, world!\n"

Compile it like this (may take a minute or so):

$ eoc link

Then, run it:

$ eoc --alone dataize app

You should see "Hello, world!" printed.

Simple Tutorial