{"id":30966193,"url":"https://github.com/tinybiggames/cp-lang","last_synced_at":"2025-09-11T23:45:17.280Z","repository":{"id":310951137,"uuid":"1039773199","full_name":"tinyBigGAMES/cp-lang","owner":"tinyBigGAMES","description":"CP-Lang is a modern programming language that combines C99 semantics with Pascal-style syntax, giving you the raw power and flexibility of C with the clean, readable elegance of Pascal.","archived":false,"fork":false,"pushed_at":"2025-08-21T08:35:21.000Z","size":34492,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-03T09:59:47.736Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://cp-lang.org","language":"Pascal","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/tinyBigGAMES.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"tinyBigGAMES","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2025-08-18T00:27:27.000Z","updated_at":"2025-08-24T13:53:54.000Z","dependencies_parsed_at":"2025-08-21T08:47:59.241Z","dependency_job_id":null,"html_url":"https://github.com/tinyBigGAMES/cp-lang","commit_stats":null,"previous_names":["tinybiggames/cp-lang"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tinyBigGAMES/cp-lang","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinyBigGAMES%2Fcp-lang","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinyBigGAMES%2Fcp-lang/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinyBigGAMES%2Fcp-lang/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinyBigGAMES%2Fcp-lang/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tinyBigGAMES","download_url":"https://codeload.github.com/tinyBigGAMES/cp-lang/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinyBigGAMES%2Fcp-lang/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274727907,"owners_count":25338402,"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-11T02:00:13.660Z","response_time":74,"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":[],"created_at":"2025-09-11T23:45:13.280Z","updated_at":"2025-09-11T23:45:17.267Z","avatar_url":"https://github.com/tinyBigGAMES.png","language":"Pascal","readme":"![CP-Lang](media/cp-lang.png)\n[![Chat on Discord](https://img.shields.io/discord/754884471324672040?style=for-the-badge)](https://discord.gg/tPWjMwK) [![Follow on Bluesky](https://img.shields.io/badge/Bluesky-tinyBigGAMES-blue?style=for-the-badge\u0026logo=bluesky)](https://bsky.app/profile/tinybiggames.com)  \n\u003e 🚧 **CP-Lang is Work in Progress**\n\u003e\n\u003e CP-Lang is currently under active development and evolving quickly. Some features described in this documentation may be incomplete, experimental, or subject to significant changes as the project matures.\n\u003e\n\u003e We welcome your feedback, ideas, and issue reports — your input will directly influence the direction and quality of CP-Lang as we strive to build the ultimate modern programming language.\n\n## C Power, Pascal Clarity\n\nCP-Lang is a modern programming language that combines **C99 semantics with Pascal-style syntax**, giving you the raw power and flexibility of C with the clean, readable elegance of Pascal.\n\n### Why CP-Lang?\n\n- **🚀 C99 Performance** - Full access to pointers, manual memory management, and low-level system programming\n- **📖 Pascal Readability** - Clean, self-documenting syntax that's easy to read and maintain  \n- **🔧 Modern Features** - Variable declarations anywhere, conditional expressions, and contemporary language conveniences\n- **⚡ Zero Overhead** - Compiles to efficient native code with no runtime penalties\n- **🔄 Familiar Yet Fresh** - Easy transition for C and Pascal developers\n\n## Quick Example\n\n```pascal\n#include \u003cstdio.e\u003e\n\nfunction main(): int32\nbegin\n  var msg: char := \"Hello, CP-Lang!\";\n  var count: int32 := 42;\n    \n  if count \u003e 0 then\n    printf(\"%s Count: %d\\n\", msg, count)\n  else\n    printf(\"Nothing to count\\n\");\n    \n  return 0;\nend\n```\n\n## Key Features\n\n### 🎯 **Hybrid Design**\n- C99 logic and capabilities under the hood\n- Pascal's clean, structured syntax on the surface\n- Best of both worlds without compromise\n\n### 🔧 **Rich Type System**\n```pascal\n// Basic types\nvar x: int32 := 100;\nvar y: float := 3.14;\nvar flag: bool := true;\n\n// Sized integers\nvar byte_val: uint8 := 255;\nvar big_num: int64 := 9223372036854775807;\n\n// Pointers and arrays\nvar ptr: ^int32;\nvar numbers: array[10] of int32;\n\n// Records (structs)\ntype Point = record\n  x, y: float;\nend;\n```\n\n### ⚙️ **Powerful Control Flow**\n```pascal\n// Pascal-style for loops\nvar i: int32;\n\nfor i := 1 to 10 do\n  printf(\"Count: %d\\n\", i);\n\nfor i := 1 to 100 do\n  process(i);\n\n// Pattern matching\ncase value of\n  1..10: printf(\"Small\");\n  11..50: printf(\"Medium\"); \nelse \n  printf(\"Large\");\nend\n```\n\n### 🔗 **C99 Compatibility**\n```pascal\n#include \u003cstdlib.e\u003e\n\nfunction allocate_buffer(): ^char\nbegin\n  var buffer: ^char := malloc(1024);\n  return buffer;\nend\n```\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**Built with ❤️ by [tinyBigGAMES](https://tinybiggames.com)**\n\n*\"Where systems programming meets elegance\"*\n\n\u003c/div\u003e","funding_links":["https://github.com/sponsors/tinyBigGAMES"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftinybiggames%2Fcp-lang","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftinybiggames%2Fcp-lang","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftinybiggames%2Fcp-lang/lists"}