{"id":19838952,"url":"https://github.com/objectionary/sandbox","last_synced_at":"2025-05-01T18:31:35.377Z","repository":{"id":39441279,"uuid":"490258619","full_name":"objectionary/sandbox","owner":"objectionary","description":"A simple EO program together with an environment to compile and run it","archived":false,"fork":false,"pushed_at":"2025-04-29T06:02:53.000Z","size":83,"stargazers_count":6,"open_issues_count":7,"forks_count":11,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-29T07:20:59.188Z","etag":null,"topics":["eolang","java","sandbox"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/objectionary.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-05-09T11:43:16.000Z","updated_at":"2025-04-14T17:54:00.000Z","dependencies_parsed_at":"2024-01-22T17:45:04.367Z","dependency_job_id":"8104b8d0-56a0-4715-a8fc-e72e321603dc","html_url":"https://github.com/objectionary/sandbox","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/objectionary%2Fsandbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/objectionary%2Fsandbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/objectionary%2Fsandbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/objectionary%2Fsandbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/objectionary","download_url":"https://codeload.github.com/objectionary/sandbox/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251924777,"owners_count":21666036,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["eolang","java","sandbox"],"created_at":"2024-11-12T12:19:41.553Z","updated_at":"2025-05-01T18:31:35.372Z","avatar_url":"https://github.com/objectionary.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"https://www.yegor256.com/images/books/elegant-objects/cactus.svg\" height=\"100px\" /\u003e\n\n[![sandbox](https://github.com/objectionary/sandbox/actions/workflows/sandbox.yml/badge.svg?branch=master)](https://github.com/objectionary/sandbox/actions/workflows/sandbox.yml)\n[![Maven Central](https://img.shields.io/maven-central/v/org.eolang/eo-maven-plugin.svg)](https://maven-badges.herokuapp.com/maven-central/org.eolang/eo-maven-plugin)\n\nYou can play with EOLANG here, in a few simple steps:\n\nFirst, clone this repo to your local machine and go\nto the `sandbox` directory (you will need\n[Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)\ninstalled):\n\n```bash\n$ git clone https://github.com/objectionary/sandbox\n$ cd eo/sandbox\n```\n\nThen, compile the code (you will need [Maven 3.3+](https://maven.apache.org/)\nand [Java SDK 8+](https://www.java.com/en/download/) installed):\n\n```bash\n$ mvn clean compile\n```\n\nIntermediary `*.xml` files will be generated in the `target` directory (it will\nbe created). Also, there will be `*.java` and `*.class` files. Feel free to analyze\nthem: EO is parsed into XML, then translated to Java, and then compiled\nby Java SDK to Java bytecode. Finally, just run the bytecode program through JRE:\n\n```bash\n$ ./run.sh 9\n9th Fibonacci number is 34\n```\n\nShould work. If it doesn't, [submit an issue](https://github.com/objectionary/sandbox/issues),\nwe will fix it.\n\nThen, you can modify `*.eo` files, run `mvn compile` to compile them\nagain and `run.sh` to run it again.\n`eo/sandbox/app.eo` is the entrypoint of the program. `app` object will be \"evaluated\", when the program is run, so modify it to make changes to the program. Then, proceed with compilation and run the program again.\n\n## In Docker\n\nIf you don't have Maven or JDK installed on your system, you can compile and run the application in Docker. You must have [Docker](https://docs.docker.com/get-docker/) and [docker-compose](https://docs.docker.com/compose/install/) installed to use this method.\n\nFirst, ccompile the sources using Maven in Docker container. The output of the compilation will be in the `target/` directory.\n\n```bash\n$ docker-compose -p eo-lang run maven\n```\n\n\u003e **Overriding the default command**\n\u003e\n\u003e By default, the container's command is `mvn compile`. You are free to override it, when running from terminal by appending the command you want to run after the service name, e.g. to run `mvn clean compile` use:\n\u003e ```bash\n\u003e docker-compose -p eo-lang run maven mvn clean compile\n\u003e ```\n\nAfter the compilation, the resulting Java program can be run in Docker via:\n\n```bash\n$ docker-compose -p eo-lang run app\n```\n\n\u003e **Passing command line arguments**\n\u003e\n\u003e It is possible to pass command line arguments to the program by appending them after the container name, e.g.:\n\u003e ```bash\n\u003e docker-compose -p eo-lang run app \"Command line arguments go here\" 10\n\u003e ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobjectionary%2Fsandbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fobjectionary%2Fsandbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobjectionary%2Fsandbox/lists"}