{"id":31655511,"url":"https://github.com/gavin-mcdiarmid/aspl","last_synced_at":"2025-10-07T13:15:03.442Z","repository":{"id":313744909,"uuid":"1052465538","full_name":"gavin-mcdiarmid/aspl","owner":"gavin-mcdiarmid","description":"A Simple Programming Language","archived":false,"fork":false,"pushed_at":"2025-09-08T06:23:06.000Z","size":17,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-08T08:22:33.686Z","etag":null,"topics":["compilers","data-oriented-design","parsers","programming-languages","zig"],"latest_commit_sha":null,"homepage":"","language":"Zig","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/gavin-mcdiarmid.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,"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-09-08T05:09:36.000Z","updated_at":"2025-09-08T06:23:09.000Z","dependencies_parsed_at":"2025-09-08T08:33:03.169Z","dependency_job_id":null,"html_url":"https://github.com/gavin-mcdiarmid/aspl","commit_stats":null,"previous_names":["gavin-mcdiarmid/aspl"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/gavin-mcdiarmid/aspl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gavin-mcdiarmid%2Faspl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gavin-mcdiarmid%2Faspl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gavin-mcdiarmid%2Faspl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gavin-mcdiarmid%2Faspl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gavin-mcdiarmid","download_url":"https://codeload.github.com/gavin-mcdiarmid/aspl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gavin-mcdiarmid%2Faspl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278780082,"owners_count":26044495,"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-10-07T02:00:06.786Z","response_time":59,"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":["compilers","data-oriented-design","parsers","programming-languages","zig"],"created_at":"2025-10-07T13:15:00.185Z","updated_at":"2025-10-07T13:15:03.437Z","avatar_url":"https://github.com/gavin-mcdiarmid.png","language":"Zig","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n=== Usage Example:\n```\nλ :: make\nzig build --prominent-compile-errors;\ntouch aspl\nrm aspl\nln -s ./zig-out/bin/aspl ./aspl\naspl on  main [!?] via ↯ v0.15.1 \n\nλ :: ./aspl \nproc main: [String] -\u003e Void;\nproc main(args) {\n\ttype Pair\u003cT\u003e = struct {\n\t\ta: T,  \n\t\tb: T,\n\t}\n\tprintln(\"Hello World\")\n}\n\n========================\n         Tokens         \n========================\n[0]\t\t.proc,    \tsidx: 0,\tlen: 4,   \tcol: 1\n[1]\t\t.Name,    \tsidx: 5,\tlen: 4,   \tcol: 6\n[2]\t\t.Colon,    \tsidx: 9,\tlen: 1,   \tcol: 10\n[3]\t\t.BrackL,    sidx: 11,\tlen: 1,   \tcol: 12\n[4]\t\t.Name,    \tsidx: 12,\tlen: 6,   \tcol: 13\n[5]\t\t.BrackR,    sidx: 18,\tlen: 1,   \tcol: 19\n[6]\t\t.Arrow,    \tsidx: 20,\tlen: 2,   \tcol: 21\n[7]\t\t.Name,    \tsidx: 23,\tlen: 4,   \tcol: 24\n[8]\t\t.Semicolon, sidx: 27,\tlen: 1,   \tcol: 28\n[9]\t\t.Eol,    \tsidx: 28,\tlen: 1,   \tcol: 29\n[10]\t.proc,    \tsidx: 29,\tlen: 4,   \tcol: 1\n[11]\t.Name,    \tsidx: 34,\tlen: 4,   \tcol: 6\n[12]\t.ParenL,   \tsidx: 38,\tlen: 1,   \tcol: 10\n[13]\t.Name,    \tsidx: 39,\tlen: 4,   \tcol: 11\n[14]\t.ParenR,    sidx: 43,\tlen: 1,   \tcol: 15\n[15]\t.BraceL,    sidx: 45,\tlen: 1,   \tcol: 17\n[16]\t.Eol,    \tsidx: 46,\tlen: 2,   \tcol: 18\n[17]\t.type,    \tsidx: 48,\tlen: 4,   \tcol: 2\n[18]\t.Name,    \tsidx: 53,\tlen: 4,   \tcol: 7\n[19]\t.Lt,    \tsidx: 57,\tlen: 1,   \tcol: 11\n[20]\t.Name,    \tsidx: 58,\tlen: 1,   \tcol: 12\n[21]\t.Gt,    \tsidx: 59,\tlen: 1,   \tcol: 13\n[22]\t.Eq,    \tsidx: 61,\tlen: 1,   \tcol: 15\n[23]\t.struct,    sidx: 63,\tlen: 6,   \tcol: 17\n[24]\t.BraceL,    sidx: 70,\tlen: 1,   \tcol: 24\n[25]\t.Eol,    \tsidx: 71,\tlen: 3,   \tcol: 25\n[26]\t.Name,    \tsidx: 74,\tlen: 1,   \tcol: 3\n[27]\t.Colon,    \tsidx: 75,\tlen: 1,   \tcol: 4\n[28]\t.Name,    \tsidx: 77,\tlen: 1,   \tcol: 6\n[29]\t.Comma,    \tsidx: 78,\tlen: 1,   \tcol: 7\n[30]\t.Eol,    \tsidx: 79,\tlen: 3,   \tcol: 8\n[31]\t.Name,    \tsidx: 82,\tlen: 1,   \tcol: 3\n[32]\t.Colon,    \tsidx: 83,\tlen: 1,   \tcol: 4\n[33]\t.Name,    \tsidx: 85,\tlen: 1,   \tcol: 6\n[34]\t.Comma,    \tsidx: 86,\tlen: 1,   \tcol: 7\n[35]\t.Eol,    \tsidx: 87,\tlen: 2,   \tcol: 8\n[36]\t.BraceR,    sidx: 89,\tlen: 1,   \tcol: 2\n[37]\t.Eol,    \tsidx: 90,\tlen: 2,   \tcol: 3\n[38]\t.Name,    \tsidx: 92,\tlen: 7,   \tcol: 2\n[39]\t.ParenL,    sidx: 99,\tlen: 1,   \tcol: 9\n[40]\t.StrLit,    sidx: 100,\tlen: 13,   \tcol: 10\n[41]\t.ParenR,   \tsidx: 113,\tlen: 1,   \tcol: 23\n[42]\t.Eol,    \tsidx: 114,\tlen: 1,   \tcol: 24\n[43]\t.BraceR,   \tsidx: 115,\tlen: 1,   \tcol: 1\n[44]\t.Eol,    \tsidx: 116,\tlen: 1,   \tcol: 2\n\n\n========================\n       Main Nodes       \n========================\n[1]\t\t.Name,    \tsubnodes: (0, 0),\ttidx: 4 \t[1]\n[2]\t\t.Array,    \tsubnodes: (1, 1),\ttidx: 3 \t[2]\n[3]\t\t.Name,    \tsubnodes: (0, 0),\ttidx: 7 \t[3]\n[4]\t\t.ProcType,  subnodes: (3, 3),\ttidx: 0 \t[4]\n[5]\t\t.Name,    \tsubnodes: (0, 0),\ttidx: 13 \t[5]\n[6]\t\t.Name,    \tsubnodes: (0, 0),\ttidx: 18 \t[6]\n[7]\t\t.Name,    \tsubnodes: (0, 0),\ttidx: 20 \t[7]\n[8]\t\t.Generics,  subnodes: (7, 1),\ttidx: 18 \t[8]\n[9]\t\t.Type,    \tsubnodes: (8, 0),\ttidx: 17 \t[9]\n[10]\t.Name,    \tsubnodes: (0, 0),\ttidx: 26 \t[10]\n[11]\t.Name,    \tsubnodes: (0, 0),\ttidx: 28 \t[11]\n[12]\t.Colon,    \tsubnodes: (10, 11),\ttidx: 26 \t[12]\n[13]\t.Name,    \tsubnodes: (0, 0),\ttidx: 31 \t[13]\n[14]\t.Name,    \tsubnodes: (0, 0),\ttidx: 33 \t[14]\n[15]\t.Colon,    \tsubnodes: (13, 14),\ttidx: 31 \t[15]\n[16]\t.Struct,    subnodes: (9, 2),\ttidx: 37 \t[16]\n[17]\t.Eq,    \tsubnodes: (9, 16),\ttidx: 17 \t[17]\n[18]\t.Name,    \tsubnodes: (0, 0),\ttidx: 38 \t[18]\n[19]\t.StrLit,    subnodes: (0, 0),\ttidx: 40 \t[19]\n[20]\t.Call,    \tsubnodes: (12, 1),\ttidx: 38 \t[20]\n[21]\t.Block,    \tsubnodes: (14, 2),\ttidx: 16 \t[21]\n[22]\t.Proc,    \tsubnodes: (16, 0),\ttidx: 10 \t[22]\n[23]\t.Block,    \tsubnodes: (19, 2),\ttidx: 0 \t[23]\n\n========================\n       Extra Nodes       \n========================\n[1] -\u003e 1,\t\t[2] Delim,\t\t[3] -\u003e 2,\t\t[4] Delim,\n\n[5] -\u003e 5,\t\t[6] Delim,\t\t[7] -\u003e 7,\t\t[8] Delim,\t\t\n[9] -\u003e 12,\t\t[10] -\u003e 15,\t\t[11] Delim,\t\t[12] -\u003e 19,\t\t\n[13] Delim,\t\t[14] -\u003e 17,\t\t[15] -\u003e 20,\t\t[16] -\u003e 11,\t\t\n[17] -\u003e 5,\t\t[18] -\u003e 21,\t\t[19] -\u003e 4,\t\t[20] -\u003e 22,\t\t\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgavin-mcdiarmid%2Faspl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgavin-mcdiarmid%2Faspl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgavin-mcdiarmid%2Faspl/lists"}