{"id":15101424,"url":"https://github.com/spaghettifunk/alaska","last_synced_at":"2026-01-06T15:42:29.941Z","repository":{"id":242079308,"uuid":"808634108","full_name":"spaghettifunk/alaska","owner":"spaghettifunk","description":"A mix between Go and Rust to reach the sweet spot with LLVM as backend","archived":false,"fork":false,"pushed_at":"2024-07-25T18:55:00.000Z","size":244,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-01T18:15:22.313Z","etag":null,"topics":["go","llvm","programming-language","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/spaghettifunk.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":"2024-05-31T13:31:54.000Z","updated_at":"2024-07-25T18:55:03.000Z","dependencies_parsed_at":"2024-06-14T15:26:42.784Z","dependency_job_id":"f64a1444-a20c-45fc-89f1-dc0dc8a5b95b","html_url":"https://github.com/spaghettifunk/alaska","commit_stats":null,"previous_names":["spaghettifunk/alaska"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spaghettifunk%2Falaska","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spaghettifunk%2Falaska/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spaghettifunk%2Falaska/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spaghettifunk%2Falaska/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spaghettifunk","download_url":"https://codeload.github.com/spaghettifunk/alaska/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245858879,"owners_count":20684057,"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":["go","llvm","programming-language","rust"],"created_at":"2024-09-25T18:22:26.266Z","updated_at":"2026-01-06T15:42:29.910Z","avatar_url":"https://github.com/spaghettifunk.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Alaska language\n\nThis is the Alaska programming language written in C. Alaska is a combination of `Go` and `Rust`.\n\nTo run the binary, do `make run input=compiler/tests/test.ask`. If you want to add Debug information, add the `debug=1` on the end of the previous command.\n\n## Why another language?\n\nBecause it is fun and I always wanted to make one myself. Last time I did this was at University and it was a subset of `C`.\n\n## Goals\n\nThe goals of Alaska are:\n\n- [ ] To be used in the data world with strong typing but easy learning curve\n- [ ] Designed to use multiple threads with ease\n- [ ] ...\n\n## TODO\n\nHere is a list of features that I'd like to implement in the language:\n\n- [ ] Implement better Parsing error message to user\n- [ ] Use LLVM as backend for multiple architectures\n- [ ] Implement arenas for memory pool\n- [ ] Implement the `match` like Rust does\n- [ ] Implement `spawn` similar to `go`\n- [ ] Implement `as` for type casting\n- [ ] Implement `\u0026` and `*` for dereference and pointers\n- [ ] Garbage collection\n- [ ] Decorators using `@` like Python\n- [ ] Implement `modules`, `packages`, `registry`, etc for both internal/external dependencies\n- [ ] Implement Language Server for IDE\n- [ ] Implement multiple return types for functions\n- [ ] Implement `Generics` in the type system (already able to parse them)\n- [ ] ....and more\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspaghettifunk%2Falaska","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspaghettifunk%2Falaska","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspaghettifunk%2Falaska/lists"}