Skip to main content

Introduction

This is the Python version of EasyCoder, a high-level English-like scripting language suited for prototyping and rapid testing of ideas. It operates on the command line.

The JavaScript version of EasyCoder, which provides a full set of graphical features to run in a browser, is at https://easycoder.github.io

Quick Start

1: Install EasyCoder in your Python environment:

pip install easycoder@git+https://github.com/easycoder/easycoder.git

2: Write a test script, 'hello.ecs':

print `Hello, world!`

This is traditionally the first program to be written in virtually any language. To run it under REPL, launch Python and type the following commands:

from easycoder import Program
Program(['hello.ecs'])

The script is passed in as a list because it could be just one of a number of command-line arguments.

The output will look like this:

Compiled <anon>: 1 lines (2 tokens) in 0 ms
Run <anon>
1-> Hello, world!

To avoid having to use REPL you can set up a simple executable command such as this Python script. On Linux the first line will ensure it runs as a command if given execute permission. You can name it 'easycoder' - there's no need for a '.py' extension.

#!/bin/python3

from sys import argv
from easycoder import Program

if (len(argv) > 1):
    Program(argv[1:])
else:
    print('Syntax: easycoder <scriptname> [plugins]')

With this you can run your script with the command easycoder hello.ecs. You can place easycoder anywhere on your system execution path, such as in a local bin directory.

It's conventional to add a program title to a script:

!   Test script

    script Test

    print `Hello, world!`

The first line here is just a comment and has no effect on the running of the script. The second line gives the script a name, which is useful in debugging as it says which script was running. When run, the output is now

Compiled Test: 5 lines (4 tokens) in 0 ms
Run Test
5-> Hello, world!

As you can guess from the above, the print command gives the line in the script it was called from. This is very useful in tracking down debugging print commands in large scripts.

In the repository is a folder called tests containing a couple of sample scripts. benchmark.ecs allows the performance of EasyCoder to be compared to other languages if a similar program is written for each one. tests.ecs is a test program containing many of the EasyCoder features.

The EasyCoder programming language

There are three primary components to the language: 1 Keywords 2 Values 3 Conditions

All program lines start with a keyword - a command to EasyCoder to do something

(Under construction)

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

easycoder-1.tar.gz (24.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

easycoder-1-py2.py3-none-any.whl (23.8 kB view details)

Uploaded Python 2Python 3

File details

Details for the file easycoder-1.tar.gz.

File metadata

  • Download URL: easycoder-1.tar.gz
  • Upload date:
  • Size: 24.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.31.0

File hashes

Hashes for easycoder-1.tar.gz
Algorithm Hash digest
SHA256 63e8dea370f70b44a90e3e4ee963c4196f66b46a4765ee281e66c63da7f95c42
MD5 29f2a66ab9889842ecfd2dc278c4ce16
BLAKE2b-256 c7d58de2b7a5371bb67ce617732cb16512a1cd839560696fc5533130c9fec58e

See more details on using hashes here.

File details

Details for the file easycoder-1-py2.py3-none-any.whl.

File metadata

  • Download URL: easycoder-1-py2.py3-none-any.whl
  • Upload date:
  • Size: 23.8 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.31.0

File hashes

Hashes for easycoder-1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 38915120eb9ddfd92233191ca26615ef07a0713d4ad1cec64224c0257688e9df
MD5 18622c4e1667a9fe34f2f06137442ee9
BLAKE2b-256 f88c794d80186a2ec660292a41d60a3a7ca219a724e640fc4fce9e316199fbf9

See more details on using hashes here.

Release history Release notifications | RSS feed

260405.1

2 files

260403.2

2 files

260403.1

2 files

260402.1

2 files

260401.5

2 files

260401.4

2 files

260401.3

2 files

260401.2

2 files

260401.1

2 files

260330.1

2 files

260329.1

2 files

260325.1

2 files

260324.1

2 files

260322.1

2 files

260321.16

2 files

260320.2

2 files

260320.1

2 files

260318.2

2 files

260318.1

2 files

260317.4

2 files

260317.3

2 files

260317.2

2 files

260317.1

2 files

260304.1

2 files

260228.1

2 files

260226.1

2 files

260222.1

2 files

260221.1

2 files

260218.1

2 files

260217.1

2 files

260215.1

2 files

260214.1

2 files

260210.1

2 files

260208.1

2 files

260205.2

2 files

260204.1

2 files

260203.4

2 files

260203.3

2 files

260203.2

2 files

260203.1

2 files

260202.3

2 files

260202.2

2 files

260202.1

2 files

260201.2

2 files

260201.1

2 files

260131.4

2 files

260131.3

2 files

260131.2

2 files

260131.1

2 files

260130.1

2 files

260128.1

2 files

260126.1

2 files

260125.1

2 files

260124.2

2 files

260123.1

2 files

260121.2

2 files

260121.1

2 files

260120.3

2 files

260120.2

2 files

260120.1

2 files

260119.2

2 files

260119.1

2 files

260118.3

2 files

260118.2

2 files

260118.1

2 files

260117.1

2 files

260116.1

2 files

260113.3

2 files

260113.2

2 files

260113.1

2 files

260112.1

2 files

260111.4

2 files

260111.3

2 files

260111.2

2 files

260111.1

2 files

260110.2

2 files

260110.1

2 files

260108.1

2 files

260104.1

2 files

260103.1

2 files

251231.2

2 files

251231.1

2 files

251230.1

2 files

251229.5

2 files

251229.3

2 files

251229.2

2 files

251229.1

2 files

251227.1

2 files

251224.1

2 files

251216.4

2 files

251216.2

2 files

251216.1

2 files

251215.3

2 files

251215.2

2 files

251215.1

2 files

251214.4

2 files

251214.3

2 files

251214.2

2 files

251214.1

2 files

251106.3

2 files

251106.2

2 files

251106.1

2 files

251105.5

2 files

251105.4

2 files

251105.3

2 files

251105.2

2 files

251105.1

2 files

251104.3

2 files

251104.2

2 files

251104.1

2 files

251103.4

2 files

251103.3

2 files

251103.2

2 files

251028.1

2 files

251026.1

2 files

251022.1

2 files

251021.1

2 files

251018.1

2 files

251017.1

2 files

251016.1

2 files

251015.1

2 files

251013.1

2 files

251004.1

2 files

250926.1

2 files

250920.1

2 files

250915.1

2 files

250826.2

2 files

250826.1

2 files

250825.1

2 files

250824.2

2 files

250820.1

2 files

250819.3

2 files

250819.2

2 files

250819.1

2 files

250818.2

2 files

250818.1

2 files

250812.2

2 files

250812.1

2 files

250811.2

2 files

250811.1

2 files

250810.3

2 files

250810.2

2 files

250810.1

2 files

250809.3

2 files

250809.2

2 files

250809.1

2 files

250807.2

2 files

250807.1

2 files

250805.2

2 files

250805.1

2 files

250804.1

2 files

250729.1

2 files

250726.2

2 files

250726.1

2 files

250725.3

2 files

250725.2

2 files

250725.1

2 files

250724.3

2 files

250724.2

2 files

250724.1

2 files

250723.4

2 files

250723.3

2 files

250723.2

2 files

250723.1

2 files

250722.5

2 files

250722.4

2 files

250722.3

2 files

250722.2

2 files

250722.1

2 files

250721.2

2 files

250721.1

2 files

250720.1

2 files

250718.1

2 files

250714.1

2 files

250706.1

2 files

250622.2

2 files

250622.1

2 files

250621.1

2 files

250618.1

2 files

250614.1

2 files

250612.1

2 files

250611.6

2 files

250611.5

2 files

250611.4

2 files

250611.3

2 files

250611.2

2 files

250611.1

2 files

250609.2

2 files

250609.1

2 files

250608.1

2 files

250607.1

2 files

250605.1

2 files

250602.1

2 files

250527.1

2 files

250522.1

2 files

250520.1

2 files

250518.1

2 files

250517.1

2 files

250508.2

2 files

250508.1

2 files

250507.2

2 files

250507.1

2 files

250506.2

1 file

250506.1

2 files

250505.3

2 files

250505.2

2 files

250504.1

2 files

250503.1

2 files

250424.3

2 files

250423.2

2 files

250423.1

2 files

250422.3

2 files

250422.2

2 files

250406.1

2 files

250404.1

2 files

250403.2

2 files

250403.1

2 files

250317.4

2 files

250317.3

2 files

250317.2

2 files

250317.1

2 files

250302.1

2 files

250301.3

2 files

250301.2

2 files

250301.1

2 files

250222.1

2 files

250221.1

2 files

250220.1

2 files

250216.1

2 files

250211.1

2 files

250210.1

2 files

250209.1

2 files

250207.1

2 files

250205.1

2 files

250204.1

2 files

250126.1

2 files

250123.2

2 files

250123.1

2 files

250118.2

2 files

250118.1

2 files

250116.4

2 files

250116.3

2 files

250116.1

2 files

250110.1

2 files

250109.2

2 files

250109.1

2 files

250107.4

2 files

250107.2

2 files

250107.1

2 files

250106.14

2 files

250106.13

2 files

250106.12

2 files

250106.11

2 files

250106.10

2 files

250106.9

2 files

250106.8

2 files

250106.7

2 files

250106.6

2 files

250106.5

2 files

250106.4

2 files

250106.3

2 files

250106.2

2 files

250106.1

2 files

250105.1

2 files

250104.1

2 files

250103.2

2 files

250103.1

2 files

250102.1

2 files

241231.1

2 files

241227.1

2 files

241218.1

2 files

241215.1

2 files

241211.3

2 files

241211.2

2 files

241211.1

2 files

5

2 files

4

2 files

3

2 files

2

2 files

This release

1 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page