{"id":34959760,"url":"https://github.com/jbrosdevelopment/galo","last_synced_at":"2026-05-23T11:01:25.392Z","repository":{"id":326314405,"uuid":"1105023193","full_name":"JBrosDevelopment/galo","owner":"JBrosDevelopment","description":"Programming language with interpreter, transpiler, and compiler","archived":false,"fork":false,"pushed_at":"2026-01-21T02:14:29.000Z","size":298,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-01-21T13:47:41.898Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","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/JBrosDevelopment.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":"2025-11-27T03:03:12.000Z","updated_at":"2026-01-21T02:14:33.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/JBrosDevelopment/galo","commit_stats":null,"previous_names":["jbrosdevelopment/galo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/JBrosDevelopment/galo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JBrosDevelopment%2Fgalo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JBrosDevelopment%2Fgalo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JBrosDevelopment%2Fgalo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JBrosDevelopment%2Fgalo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JBrosDevelopment","download_url":"https://codeload.github.com/JBrosDevelopment/galo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JBrosDevelopment%2Fgalo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33392816,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T04:15:53.637Z","status":"ssl_error","status_checked_at":"2026-05-23T04:15:53.242Z","response_time":53,"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":[],"created_at":"2025-12-26T22:37:46.614Z","updated_at":"2026-05-23T11:01:25.385Z","avatar_url":"https://github.com/JBrosDevelopment.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Galo\n\nSimple programming language that includes a interpreter, transpiler, and compiler.\n\n## Building the Project\n\nThis project uses a Makefile for simplicity\n\n```sh\nmake run\n```\n\nFor debugging using gdb, run\n\n```sh\nmake run-debug\n```\n\n- `make`: builds program\n- `make debug`: builds program with `-g` flags for debugging\n- `make clean`: clears `bin/` folder\n- `make run`: builds and runs program\n- `make run-debug`: builds program with `-g` flag and runs it inside `gdb` for debugging\n\n## Example\n\n**Functions:**\n\n```\nfun add(left int, right int) int\n    # inside parenthesis because all operations require parenthesis to define order of operations\n    return (left + right) \nend\n\nlet result int = add(5, 10)\nprint(\"5 + 10 = \", result, \" math!\\n\")\n\n# output:\n# 5 + 10 = 15 math!\n```\n\n**Structs:**\n\n```\nstruct Point\n    x int\n    y int\nend\n\nlet p Point\np x = 10\np y = 20\n\nlet X int = p x\n\n# p.x and p.y are not valid syntax\n# scoping is used by space instead of dot notation\n```\n\n**Control Flow:**\n\n```\nlet condition bool = true\nif condition\n    print(\"This is true!\\n\")\nelif ((condition == false) or false)\n    print(\"Oh no it's false!\\n\")\nelse\n    print(\"This is false!\\n\")\nend\n\nwhile condition\n    print(\"Looping...\\n\")\n    condition = false\nend\n```\n\n**Functions in Structs**\n\n```\nstruct Color\n    r byte\n    g byte\n    b byte\nend\n\nfun Color init(red byte, green byte, blue byte) Color\n    let c Color\n    c r = red\n    c g = green\n    c b = blue\n    return c\nend\n\nfun Color set_red(self Color, value byte) void\n    self r = value\nend\n\nlet my_color Color = Color init(0, 0, 0)\nColor set_red(my_color, 255)\n```\n\n**Data Types**\nbyte, int, float, bool, string, and user-defined structs are supported.\n\n```\nlet b byte = 255\nlet i int = 12345\nlet b2 byte = (b + i) # this will not raise an error because validator doesn't check bytes, overflow over 255 will rap back to 0\nlet f float = 3.14\nlet s string = f # raises an error, cannot assign float to string\n```\n\n## Requirements\n- Make\n- A C compiler (e.g., GCC, Clang, MSVC)\n- GDB (optional, for development debugging with `make debug`)\n\n## License\nThis project is licensed under the MIT License. See the LICENSE file for details.\n\n## Contributing\nContributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjbrosdevelopment%2Fgalo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjbrosdevelopment%2Fgalo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjbrosdevelopment%2Fgalo/lists"}