{"id":20898966,"url":"https://github.com/tsavola/dp","last_synced_at":"2025-09-03T12:43:22.153Z","repository":{"id":229073810,"uuid":"582266652","full_name":"tsavola/dp","owner":"tsavola","description":"Programming language experiment","archived":false,"fork":false,"pushed_at":"2024-06-06T22:41:12.000Z","size":20,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-30T17:50:33.996Z","etag":null,"topics":["programming-language"],"latest_commit_sha":null,"homepage":"","language":"Go","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/tsavola.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":"2022-12-26T09:19:35.000Z","updated_at":"2024-06-06T22:41:15.000Z","dependencies_parsed_at":"2024-06-21T01:21:13.059Z","dependency_job_id":null,"html_url":"https://github.com/tsavola/dp","commit_stats":null,"previous_names":["tsavola/dp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tsavola/dp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsavola%2Fdp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsavola%2Fdp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsavola%2Fdp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsavola%2Fdp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tsavola","download_url":"https://codeload.github.com/tsavola/dp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsavola%2Fdp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273445656,"owners_count":25107150,"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-03T02:00:09.631Z","response_time":76,"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":["programming-language"],"created_at":"2024-11-18T11:12:48.081Z","updated_at":"2025-09-03T12:43:22.097Z","avatar_url":"https://github.com/tsavola.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# The «dp» programming language\n\nThe language uses imperative style.  Its features are designed to work together\nso that memory management can be automatic, simple and fast.\n\nThe language has null (nil) pointers.  Memory access operations don't require\nelaborate syntax.\n\nThe `dpfmt` formatting tool is very lenient.  Therefore source code files stay\nconsistently formatted, but it's easy to write them.\n\n\n## Details\n\n- Type names start with an upper-case letter and consist of upper- and\n  lower-case letters.\n\n- Function and variable names consist of lower-case letters and non-consecutive\n  underscores.\n\n- Only fixed-size primitive types: `Bool`, `I8`, `I16`, `I32`, `I64`, `U8`,\n  `U16`, `U32`, `U64`, `F32`, `F64`.  Expressions can yield unnamed integer\n  types with arbitrary bit width; they must be converted to a named type when\n  assigning to an explicitly typed variable, parameter or return value.\n\n- Generic variable-length array type: `[T]`.\n\n- Zero value literals: `0`, `{}`, `nil`, and `_`.\n\n- Struct types with methods.  Field accessibility modes: hidden (default),\n  `visible`, `mutable` (also visible), and `assignable` (also visible and\n  mutable).\n\n- Struct types can overload array index operator (unnamed method `(=StructType)\n  (IndexType) =ItemType`).\n\n- Packages are imported using URI strings.  Imported packages may be accessed\n  using namespaces (`package::Symbol`) or specific symbols can be imported into\n  scope (`Symbol`).\n\n- Assignment syntax supports multiple targets and values.\n\n- Function or method call expressions can appear in assignment target list.\n\n- Expression `clone x`.\n\n\n## Type modifier reference\n\n```\n Type   Description\n\n    T   non-null                          mutable  owned value\n   *T   nullable           pointer   to   mutable  owned value\n   =T   non-null temporary reference to   mutable        value\n  =*T   nullable temporary pointer   to   mutable        value\n   \u0026T   non-null           reference to immutable        value\n  *\u0026T   nullable           pointer   to immutable        value\n   #T   non-null                        immutable shared value\n  *#T   nullable           pointer   to immutable shared value\n  \u0026#T   non-null           reference to immutable shared value\n *\u0026#T   nullable           pointer   to immutable shared value\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftsavola%2Fdp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftsavola%2Fdp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftsavola%2Fdp/lists"}