{"id":16871617,"url":"https://github.com/phase/underscore_lang","last_synced_at":"2025-07-23T16:10:16.029Z","repository":{"id":86155531,"uuid":"49760077","full_name":"phase/underscore_lang","owner":"phase","description":"The __ programming language","archived":false,"fork":false,"pushed_at":"2016-02-04T01:29:42.000Z","size":5,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-18T19:55:07.068Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"D","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/phase.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}},"created_at":"2016-01-16T05:07:05.000Z","updated_at":"2021-09-24T22:44:48.000Z","dependencies_parsed_at":"2023-05-24T15:30:48.405Z","dependency_job_id":null,"html_url":"https://github.com/phase/underscore_lang","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/phase/underscore_lang","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phase%2Funderscore_lang","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phase%2Funderscore_lang/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phase%2Funderscore_lang/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phase%2Funderscore_lang/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phase","download_url":"https://codeload.github.com/phase/underscore_lang/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phase%2Funderscore_lang/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266708514,"owners_count":23971946,"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-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":"2024-10-13T15:09:17.268Z","updated_at":"2025-07-23T16:10:15.995Z","avatar_url":"https://github.com/phase.png","language":"D","funding_links":[],"categories":[],"sub_categories":[],"readme":"# The __ Programming Language\r\n\r\n\u003e **Note**: This language is not actually called __, \r\n  I just don't have a name for it yet. Feel free to \r\n  call it that or \"language X\" until it gets a real \r\n  name.\r\n\r\n## Why another language?\r\nThis isn't meant to be a language to change the world\r\nor revolutionize the way we program. I just like programming\r\nlinguistics. This is a language made up of everything\r\nI've come to enjoy in different languages over the years.\r\n\r\n## What is different about this language?\r\nThis is meant to be a fast, powerful, general purpose\r\nlanguage. You are meant to write _real_ software with\r\nthis, not some crazy language that only has a couple\r\nuse cases. Here's a list of its (soon to be) features:\r\n\r\n* Concise Syntax\r\n* Fast (JIT Compiled)\r\n* Interop with C and other LLVM languages\r\n* Portable\r\n* Easy Scripting\r\n\r\n## Let's see it!\r\nPrepare your eyeballs. (_Comments are after `//`_)\r\n\r\n```javascript\r\nadd (int a, int b) = a + b\r\nprint add 5, 6 // print(add(5,6))\r\n\r\nmultiply (int a, int b) = {\r\n    int t // initialized to 0\r\n    i = b // create new variable i with the type and value of b\r\n    while i-- \u003e 0 {\r\n        t += a\r\n    }\r\n    t // return the value of the last statement\r\n}\r\nprint multiply 7, 2 // 14\r\nprint multiply add(2,3), 5 // 25; add parentheses where needed\r\n\r\nprint ((int a, int b) = -a * b) 2, 4 // -8; complicated lambda\r\n\r\nobject O {\r\n}\r\nO obj //create object O\r\n\r\nobject B {\r\n    //local field can be retrieved from outside the object\r\n    int i\r\n    //constructors use `this` are can take however many arguments you give it\r\n    this() = {}\r\n}\r\n\r\nB objB = B() // objects are initialized like methods, an empty () is\r\n             // not required when there are no arguments\r\nB objB2 = B //same as above\r\n\r\nobject Data {\r\n    // @ in arguments can only be used in an object's constructor\r\n    // it will assign a local variable of that name to the value passed in\r\n    this(int @a, char @c) = {}\r\n}\r\n\r\nData d = Data 7, 'd' // using method invocation syntax\r\nprint d.a // 7\r\nprint d.c // d\r\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphase%2Funderscore_lang","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphase%2Funderscore_lang","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphase%2Funderscore_lang/lists"}