Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jweinst1/oblivion-java
A programming language that is built off of small, arrow functions.
https://github.com/jweinst1/oblivion-java
Last synced: 5 days ago
JSON representation
A programming language that is built off of small, arrow functions.
- Host: GitHub
- URL: https://github.com/jweinst1/oblivion-java
- Owner: jweinst1
- License: mit
- Created: 2015-12-25T07:37:35.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2015-12-30T22:45:11.000Z (almost 9 years ago)
- Last Synced: 2023-03-02T15:32:41.441Z (over 1 year ago)
- Language: HTML
- Homepage:
- Size: 184 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Oblivion
The Oblivion Language
#####NOTE: This is the Java Implementation, which is partial and will be depreciated once the swift implementation is complete.For the Interpreter code, go [here](https://github.com/jweinst1/Oblivion-Java/tree/master/src/Interpret)
Oblivion is a modern programming language that takes an unorthodox approach to syntax and computing. The concept of syntactic sugar is heavily emphasized, making the code readable in a linear, step by step fashion. Oblivion uses many different basic concepts, with the ideology that smaller, simple pieces of code can be more easily abstracted into larger, more sophisticated programs.
Oblivion is structured around the concept units. Instead of having defined, built in statements, the language composes all statements from series of operations. For example, `x = 1`, from Python, binds the variable `x` to the integer 1. Or in Java, one would write `int x = 1`.
In Oblivion, the proper expression to match a simple assignment is `{x} -> (6) -> @`. Here, we perform the assignment via a stream of units. The `{x}` expression is called a name unit, which is similar to the concept of a parameter in other languages. The `->` expression is the apply unit. This takes the previous unit and applies it to the next unit. The `@` symbol represents the bindings unit. It is similar to a local and global bindings scheme in languages like Python.
For more information, see the [manual.](SUMMARY.md)