{"id":21027268,"url":"https://github.com/liquidev/hayago","last_synced_at":"2025-10-14T23:07:22.351Z","repository":{"id":117499675,"uuid":"164884549","full_name":"liquidev/hayago","owner":"liquidev","description":"Embeddable scripting language for Nim. Work in progress.","archived":false,"fork":false,"pushed_at":"2020-10-28T20:43:34.000Z","size":2498,"stargazers_count":53,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-28T11:14:07.008Z","etag":null,"topics":["bytecode","concurrency","embeddable","language","nim","rod"],"latest_commit_sha":null,"homepage":"https://liquid600pgm.github.io/hayago","language":"Nim","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/liquidev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2019-01-09T15:05:36.000Z","updated_at":"2024-05-29T17:31:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"6a222834-4275-45e3-8894-05cb8828660e","html_url":"https://github.com/liquidev/hayago","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/liquidev%2Fhayago","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liquidev%2Fhayago/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liquidev%2Fhayago/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liquidev%2Fhayago/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/liquidev","download_url":"https://codeload.github.com/liquidev/hayago/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251302782,"owners_count":21567601,"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":["bytecode","concurrency","embeddable","language","nim","rod"],"created_at":"2024-11-19T11:49:10.230Z","updated_at":"2025-10-14T23:07:17.331Z","avatar_url":"https://github.com/liquidev.png","language":"Nim","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"logo.svg\" width=\"256px\"/\u003e\n\u003c/p\u003e\n\n# hayago\n\n**hayago** (早語, _fast language_, pronounced ha-ya-go) is a small, fast,\nembeddable, statically typed scripting language, written in Nim. Its syntax is\ninspired by Nim itself.\n\n| **Note** | hayago is not finished yet. This readme is a draft of the language's goals. |\n| --- | --- |\n\nIts main goals are:\n\n- **Simplicity.** The core feature set remains small, but powerful enough for\n  usage in applications of varying complexities.\n- **Soundness.** Unlike most scripting languages out there, hayago has a static\n  typing system instead of a dynamic one, which makes code more robust and\n  maintainable. It has generics with type inference, minimizing code repetition\n  and making refactoring easy.\n- **Speed.** It's in the name: _fast language_. While its speed doesn't match\n  that of more complex languages with JIT compilers, static typing gives hayago\n  a big advantage over other scripting languages.\n- **Easy embedding.** Embedding hayago in your application is as simple as\n  listing all the things you need to be available in the VM.\n\n```nim\nproc hello(target: string) {\n  echo(\"Hello, \" \u0026 target)\n}\n\nhello(\"Nim users\")\n\niterator items[T](list: seq[T]) -\u003e T {\n  var len = list.len\n  for i in 0..\u003clen {\n    yield list[i]\n  }\n}\n\nlet features = [\"simple\", \"sound\", \"fast\", \"concurrent\", \"embeddable\"]\n\nvar message = \"hayago is a \"\nvar i = 0\nfor x in features.items {\n  message.add(x)\n  if i != features.len - 1 {\n    message.add(\", \")\n  }\n  i = i + 1\n}\nmessage.add(\" scripting language\")\necho(message)\n```\n\n## Roadmap\n\nhayago is not finished yet. The following checklist represents the current state\nof affairs when it comes to features:\n\n- hayago 0.1 (currently worked on)\n  - [x] variables\n  - [x] flow control (`if`, `while`, `for`)\n  - [x] objects\n    - [ ] inheritance\n    - [ ] non-`ref` and `ref` objects\n  - [x] procedures\n    - [ ] closures\n    - [x] UFCS\n  - [x] iterators\n  - [x] generics\n    - generic type inference\n      - [x] in procedure calls\n      - [ ] in object constructors\n  - [ ] modules and `import`\n  - [ ] embedding\n    - [ ] low-level, unsafe functionality\n    - [ ] high-level macro-based API\n  - [ ] standard library\n    - [ ] math\n    - [ ] string manipulation\n    - [ ] seq manipulation\n    - …\n- hayago 0.2\n  - [ ] coroutines\n  - [ ] error handling with a `try…except…finally`-like system\n- hayago 0.3\n  - [ ] tuples\n  - [ ] multiple `for` loop variables\n\nThere is no hard deadline for any of the listed features. This checklist is\nsupposed to show how much of the language is complete, but it probably misses\nsome points.\n\nIf you want to propose a new feature, feel free to open an issue. I'm open to\nsuggestions.\n\n## Didn't this use to be called `rod`?\n\nYes. I decided to change the name to avoid conflicts with\n[yglukhov/rod](https://github.com/yglukhov/rod), which is a much older project\nthan this. Also, _hayago_ just sounds so much nicer and friendlier, doesn't it?\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliquidev%2Fhayago","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fliquidev%2Fhayago","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliquidev%2Fhayago/lists"}