{"id":37146680,"url":"https://github.com/aakash1104/go-monkey-go","last_synced_at":"2026-01-14T17:04:23.697Z","repository":{"id":67386705,"uuid":"284386664","full_name":"aakash1104/go-monkey-go","owner":"aakash1104","description":":monkey:  MonkeyLang Interpreter in Go (still under development)","archived":false,"fork":false,"pushed_at":"2020-08-10T01:33:35.000Z","size":268,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-06-19T17:56:21.117Z","etag":null,"topics":["go","golang","interpreter","monkey","monkey-programming-language"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aakash1104.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2020-08-02T03:59:25.000Z","updated_at":"2020-08-10T01:33:37.000Z","dependencies_parsed_at":"2023-02-27T04:46:43.105Z","dependency_job_id":null,"html_url":"https://github.com/aakash1104/go-monkey-go","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aakash1104/go-monkey-go","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aakash1104%2Fgo-monkey-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aakash1104%2Fgo-monkey-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aakash1104%2Fgo-monkey-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aakash1104%2Fgo-monkey-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aakash1104","download_url":"https://codeload.github.com/aakash1104/go-monkey-go/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aakash1104%2Fgo-monkey-go/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28427186,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T16:38:47.836Z","status":"ssl_error","status_checked_at":"2026-01-14T16:34:59.695Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["go","golang","interpreter","monkey","monkey-programming-language"],"created_at":"2026-01-14T17:04:23.087Z","updated_at":"2026-01-14T17:04:23.684Z","avatar_url":"https://github.com/aakash1104.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003cimg src=\"resources/monkey-drawing.png\" alt=\"Monkey Programming Language\"\n    height=\"25%\" width=\"25%\"\u003e\n\u003c/p\u003e\n\n\u003ch2 align=\"center\"\u003e\n    :monkey: MonkeyLang Interpreter :monkey:\n    \u003cbr\u003e\n    \u003cimg src=\"https://img.shields.io/badge/status-under%20development-yellow\"\u003e\n\u003c/h2\u003e\n\n`Go-Monkey-Go` is an interpreter for [monkeylang](https://monkeylang.org/), a\nsimple programming language created by \n[Thorsten Ball](https://thorstenball.com/) written in Go. This is adapted from\nBall's book [Writing an Interpreter in Go](https://interpreterbook.com).\n\n###  Understanding MonkeyLang Syntax ###\n\nMonkey has a very simple syntax. Monkey supports primitive data types such as\nintegers, strings, booleans. Variable declarations are done like this:\n\n```js\nlet num = 10;\nlet b = num + 50;\nlet str = \"Hello\";\nlet flag = true;\n```\n\nMonkey also supports user defined functions:\n\n```js\nlet sum = fn(a, b) {\n    x + y;\n};\n```\nThere's also support for conditional statements:\n\n```js\nif (a \u003c= b) {\n    return true;\n} else {\n    return false;\n}\n```\n\n### Motivation :thinking: ### \n\nAfter reading this [interview](https://evrone.com/rob-pike-interview) of Rob \nPike, I was extremely curious about Go and it's advantages in developing and \ndeploying software. \n\nOne of the best ways to get exposed to a programming language is to build \nsomething from scratch. Compilers and Interpreters are one of the most \nbeautiful pieces of art in Computer Science. So here's my attempt of building an\ninterpreter in Go. My goal is to get thinking about Go and Monkeylang and add \nother features to this programming language (I need to think more about what I \nwant to add though).\n\n_Note_: This repository will be constantly updated as I read the book and \ncomplete the exercises. Stay tuned! :nerd_face:\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faakash1104%2Fgo-monkey-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faakash1104%2Fgo-monkey-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faakash1104%2Fgo-monkey-go/lists"}