Emojicode
Emojicode is an open source, high-level, multi-paradigm programming language consisting of emojis. It features Object-Orientation, Optionals, Generics and Closures.
๐ Getting Started
To learn more about the language and how to install Emojicode visit https://www.emojicode.org/.
We highly recommend to follow Emojicodeโs Twitter account @Real_Emojicode to stay up with the latest.
๐จ Building from source
๐ก Building locally
Prerequisites (versions are recommendations):
- clang and clang++ 6.0.1 or gcc and g++ 7.2
- CMake 3.5.1+ and (preferably) Ninja
- LLVM 7
- Python 3.5.2+ for testing
Steps:
-
Clone Emojicode (or download the source code and extract it) and navigate into it:
git clone https://github.com/emojicode/emojicode cd emojicode
-
Create a
build
directory and run CMake in it:mkdir build cd build cmake .. -GNinja
You can of course also run CMake in another directory or use another build system than Ninja. Refer to the CMake documentation for more information.
-
Build the Compiler and Packages:
ninja
-
You can now test Emojicode:
ninja tests
-
The binaries are ready for use! You can the perform a magic installation right away
ninja magicinstall
or just package the binaries and headers properly
ninja dist
To create a distribution archive you must call the dist script yourself (e.g.
python3 ../dist.py .. archive
).
๐ Building using Docker
A Dockerfile
is available for building in a Ubuntu 18.04
environment.
Steps:
-
Clone Emojicode (or download the source code and extract it) and navigate into it:
git clone https://github.com/emojicode/emojicode cd emojicode
-
Build Docker image:
docker build -t emojicode-build -f docker/clang .
-
Verify the installation was fine and tests pass:
docker run --rm emojicode-build ... โ โ All tests passed.
-
Start image (and mount a directory to it):
docker run --rm -v $(pwd)/code:/workspace -it emojicode-build /bin/bash
-
Start coding!
emojicodec /workspace/hello.๐ && ./workspace/hello
๐ License
Emojicode is licensed under the Artistic License 2.0. If you donโt want to read the whole license, hereโs a summary without legal force:
- You are allowed to download, use, copy, publish and distribute Emojicode.
- You are allowed to create modified versions of Emojicode but you may only distribute them on some conditions.
- The license contains a grant of patent rights and does not allow you to use any trademark, service mark, tradename, or logo.
- Emojicode comes with absolutely no warranty.