Evy is a simple programming language, made to learn coding. Try it out.
Evy bridges the gap between block-based languages like Scratch and conventional languages like Python or JavaScript. It has a minimalist syntax with fewer special characters and advanced concepts than most programming languages. Evy has a small set of built-in functions that are easy to understand and remember, but it still is powerful enough for user interaction, games, and animations.
You can try Evy online at play.evy.dev and browse the examples.
Alternatively you can install the evy
toolchain
locally.
Here is a "hello world" program in Evy
print "Hello World!"
Here are some resources for learning more about Evy:
- Syntax by Example: A collection of examples that illustrate the Evy syntax.
- Built-in Documentation: Details on built-in functions and events in Evy.
- Language Specification: A formal definition of the Evy syntax and language.
- Interactive Labs: A guided tour with challenges that teaches you programming using Evy.
For questions and discussions, join the Evy community on Discord.
You can install the Evy toolchain locally to run it from your command
line. To learn how to use the Evy toolchain, read the
usage documentation or run evy --help
.
Download the latest release for your platform, unzip it and add evy
to your path.
Use Homebrew to install evy
.
brew install evylang/tap/evy
The Evy interpreter is written in Go and built using the Go and TinyGo compilers. TinyGo targets WebAssembly, which allows Evy source code to be parsed and run in a web browser. The browser platform is written in plain JavaScript without the use of frameworks.
To build the Evy source code, clone this repository and activate Hermit in your terminal. Then, build the sources with
make all
You can list make targets, execute a full CI run locally or serve the frontend locally with
make help
make ci
make serve
Hermit automatically installs tools.
The tools used in this repository, such as Make, Go and Node, are automatically downloaded by Hermit when needed. Hermit ensures that developers on Mac, Linux, and GitHub Actions CI use the same version of the same tools. Cloning this repo is the only installation step necessary.
There are two ways to use the tools in the Evy repository. You can
either prefix them with bin/
, for example bin/make all
. Or, you can
activate Hermit in your shell with
. ./bin/activate-hermit
This will add the tools to your path, so you can use them without having
to prefix them with bin/
.
You can auto-activate Hermit when changing into the evy
source
directory by installing Hermit shell hooks with
hermit shell-hooks
Evy would not be here today without the help of many people.
- camh: Thank you for your support, guidance, generosity and endless patience.
- Jason: Thank you for donating the Evy website design. It is beautiful!
- @chkas: Thank you for creating the fantastic easylang language, which was a major inspiration for Evy.
- @fcostin: Thank you for the Splash of Trig sample, your wisdom and your willingness to help.
- @starkcoffee, @alecthomas, @loislambeth: Thank you for your insights, support, and encouragement. I am grateful for your friendship!
- My daughter Mali: Thank you for being keen to learn programming and for testing Evy with me.