{"id":40889912,"url":"https://github.com/lhmouse/asteria","last_synced_at":"2026-01-22T01:45:47.737Z","repository":{"id":39174429,"uuid":"126458903","full_name":"lhmouse/asteria","owner":"lhmouse","description":"The Asteria Programming Language","archived":false,"fork":false,"pushed_at":"2025-12-31T06:00:55.000Z","size":17238,"stargazers_count":422,"open_issues_count":2,"forks_count":32,"subscribers_count":19,"default_branch":"master","last_synced_at":"2026-01-04T08:25:59.711Z","etag":null,"topics":["programming-language","scripting-language"],"latest_commit_sha":null,"homepage":"https://web.libera.chat/#mcfproj","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lhmouse.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-03-23T08:57:09.000Z","updated_at":"2026-01-01T20:14:41.000Z","dependencies_parsed_at":"2023-10-20T17:33:39.950Z","dependency_job_id":"a3e6883b-d6c8-449d-91a0-abef91fc6fbf","html_url":"https://github.com/lhmouse/asteria","commit_stats":{"total_commits":7418,"total_committers":6,"mean_commits":"1236.3333333333333","dds":0.0006740361283364971,"last_synced_commit":"84c27995542a3f3b38c10e3e0f205b7363976ef0"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/lhmouse/asteria","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lhmouse%2Fasteria","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lhmouse%2Fasteria/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lhmouse%2Fasteria/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lhmouse%2Fasteria/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lhmouse","download_url":"https://codeload.github.com/lhmouse/asteria/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lhmouse%2Fasteria/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28649887,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-22T01:17:37.254Z","status":"ssl_error","status_checked_at":"2026-01-22T01:17:35.564Z","response_time":86,"last_error":"SSL_read: 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":["programming-language","scripting-language"],"created_at":"2026-01-22T01:45:46.969Z","updated_at":"2026-01-22T01:45:47.732Z","avatar_url":"https://github.com/lhmouse.png","language":"C++","readme":"# The Asteria Programming Language\n\n![asteria](asteria.png)\n\n**Asteria** (/asˈtɪərɪə/, _as-TEAR-ee-uh_) is a procedural, dynamically typed\nprogramming language that is highly inspired by JavaScript.\n\nThe most notable difference between Asteria and other languages is that the\nso-called 'objects' have _value semantics_. That is, an object is copied when\nit is passed to a function by value or is assigned to a variable, just like\nvalues of primitive types.\n\n* [Quick Guide](doc/quick-guide.md)\n* [Grammar](doc/grammar.md)\n* [Standard Library](doc/standard-library.md)\n* [Highlighting Rules for GNU nano](doc/asteria.nanorc)\n\n# How to Build\n\nFirst, you need to install some dependencies and an appropriate compiler,\nwhich can be done with\n\n```sh\n# For Debian, Ubuntu, Linux Mint:\n# There is usually an outdated version of meson in the system APT source. Do\n# not use it; instead, install the latest one from pip.\nsudo apt-get install ninja-build python3 python3-pip pkgconf g++  \\\n        libpcre2-dev libssl-dev zlib1g-dev libedit-dev\nsudo pip3 install meson\n```\n\n```sh\n# For MSYS2 on Windows:\n# The `iconv_open()` etc. functions are provided by libiconv. Only the MSYS\n# shell is supported. Do not try building in the MINGW64 or UCRT64 shell.\npacman -S meson gcc pkgconf pcre2-devel openssl-devel zlib-devel  \\\n        libiconv-devel libedit-devel\n```\n\n```sh\n# For macOS:\n# The `gcc` command actually denotes Clang, so ask for a specific version\n# explicitly.\nbrew install meson pkgconf gcc@10 pcre2 openssl@3 zlib libedit\nexport CXX='g++-10'\n```\n\nThen we can build as usual\n\n```sh\nmeson setup build_debug\nmeson compile -Cbuild_debug\n```\n\nFinally we launch the REPL, as\n\n```sh\n./build_debug/asteria\n```\n\n![README](README.png)\n\nIf you need only the library and don't want to build the REPL, you may omit\n`libedit` from the dependencies above, and pass `-Denable-repl=false` to `meson`.\n\n# License\n\nBSD 3-Clause License\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flhmouse%2Fasteria","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flhmouse%2Fasteria","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flhmouse%2Fasteria/lists"}