{"id":31236963,"url":"https://github.com/rasmusml/abc","last_synced_at":"2025-10-31T10:01:57.972Z","repository":{"id":208516141,"uuid":"596554963","full_name":"RasmusML/ABC","owner":"RasmusML","description":"🍀 ABC is a tiny statically typed programming language transpiled to java.","archived":false,"fork":false,"pushed_at":"2023-02-02T13:30:46.000Z","size":40,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2023-11-21T22:31:05.733Z","etag":null,"topics":["language","transpiler"],"latest_commit_sha":null,"homepage":"","language":"Java","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/RasmusML.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}},"created_at":"2023-02-02T12:50:56.000Z","updated_at":"2023-11-21T22:31:07.748Z","dependencies_parsed_at":"2023-11-21T22:41:12.190Z","dependency_job_id":null,"html_url":"https://github.com/RasmusML/ABC","commit_stats":null,"previous_names":["rasmusml/abc"],"tags_count":0,"template":null,"template_full_name":null,"purl":"pkg:github/RasmusML/ABC","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RasmusML%2FABC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RasmusML%2FABC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RasmusML%2FABC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RasmusML%2FABC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RasmusML","download_url":"https://codeload.github.com/RasmusML/ABC/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RasmusML%2FABC/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276439746,"owners_count":25642749,"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","status":"online","status_checked_at":"2025-09-22T02:00:08.972Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["language","transpiler"],"created_at":"2025-09-22T16:50:36.135Z","updated_at":"2025-09-22T16:50:37.697Z","avatar_url":"https://github.com/RasmusML.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🍀ABC\nABC is a tiny statically typed programming language transpiled to java source code.\n\n### Example\n```\nfibonacci_of :: (n: i32) -\u003e i32 {\n  return fibonacci_helper(0, 1, n-1);\n}\n\nfibonacci_helper :: (a: i32, b: i32, n: i32) -\u003e i32 {\n  if (n == 0) { return b; }\n  return fibonacci_helper(b, a+b, n-1);\n}\n\nfibonnaci_up_to :: (N: i32) -\u003e [] i32 {\n  ensure(N \u003e 0, \"expected N \u003e 0, but is N=%d.\", N);\n  \n  result: [] i32 = new [N];\n  \n  i: i32 = 1;\n  while (i \u003c result.length) {\n    result[i] = fibonacci_of(i);\n    i = i + 1;\n  }\n  \n  return result;\n}\n\nPlanet :: struct {\n  name: string;\n  mass: i64;\n  radius: i32;\n  habitable: bool;\n}\n\nmain :: () {\n  N: i16 = 6;\n  sequence: [] i32 = fibonnaci_up_to(N);\n  \n  print(\"first %d fibonacci numbers:\\n\", N);\n  i: i32 = 0;\n  while (i \u003c sequence.length) {\n    print(\"%d: %d\\n\", i+1, sequence[i]);\n    i = i + 1;\n  }\n  \n  print(\"\\n\");\n  \n  exo1: Planet = new;\n  exo1.name = \"PSR B1257+12 b\";\n  exo1.habitable = true;\n  exo1.radius = 7000;\n  exo1.mass = 42000;\n  \n  if (exo1.habitable) {\n    print(\"Planet \\\"%s\\\" is habitable!\", exo1.name);\n  }\n}\n\n/*\n  first 6 fibonacci numbers:\n  1: 0\n  2: 1\n  3: 1\n  4: 2\n  5: 3\n  6: 5\n\n  Planet \"PSR B1257+12 b\" is habitable!\n*/\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frasmusml%2Fabc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frasmusml%2Fabc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frasmusml%2Fabc/lists"}