{"id":13761163,"url":"https://github.com/TechnoJo4/luadaul","last_synced_at":"2025-05-10T12:31:12.979Z","repository":{"id":206619470,"uuid":"327484853","full_name":"TechnoJo4/luadaul","owner":"TechnoJo4","description":"A programming language that compiles to Lua.","archived":false,"fork":false,"pushed_at":"2024-02-04T19:52:41.000Z","size":462,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"rewrite","last_synced_at":"2024-08-03T13:06:10.160Z","etag":null,"topics":["compiler","lua","luajit"],"latest_commit_sha":null,"homepage":"","language":"Lua","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/TechnoJo4.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}},"created_at":"2021-01-07T02:45:53.000Z","updated_at":"2024-08-03T13:06:13.948Z","dependencies_parsed_at":null,"dependency_job_id":"fd3dea0c-aec5-488c-bdaf-4974983d6eb9","html_url":"https://github.com/TechnoJo4/luadaul","commit_stats":null,"previous_names":["technojo4/luadaul"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TechnoJo4%2Fluadaul","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TechnoJo4%2Fluadaul/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TechnoJo4%2Fluadaul/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TechnoJo4%2Fluadaul/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TechnoJo4","download_url":"https://codeload.github.com/TechnoJo4/luadaul/tar.gz/refs/heads/rewrite","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224958032,"owners_count":17398494,"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":["compiler","lua","luajit"],"created_at":"2024-08-03T13:01:41.198Z","updated_at":"2024-11-16T18:32:13.533Z","avatar_url":"https://github.com/TechnoJo4.png","language":"Lua","funding_links":[],"categories":["Lua"],"sub_categories":[],"readme":"# daul\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"256px\" src=\"logo/daul.png\"/\u003e\n\u003c/p\u003e\n\ndaul is a language that transpiles to Lua. It aims to simplify the use of\nfunctional-style code by eliminating the distinction between statements and\nexpressions.\n\n\u003ctable\u003e\n\u003ctr\u003e\n  \u003ctd\u003eDaul\u003c/td\u003e \u003ctd\u003eGenerated/Equivalent Lua code\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\n\u003ctd\u003e\n\nTables:\n```kotlin\n// Use [] instead of {}\nval arr = [ 1, 2, 3 ]\n\n// Use \"key:\" instead of \"[key] =\"\nval tbl = [ \"arr\": arr ]\nval zeroindexed = [ 0: 1, 2, 3 ];\n```\n\n\u003c/td\u003e\n\u003ctd\u003e\n\n```lua\nlocal arr={1,2,3};\nlocal tbl={[\"arr\"]=arr};\nlocal zeroindexed={[0]=1,2,3};\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\n\nStatements and blocks:\n```kotlin\n// Example TODO\n```\n\n\u003c/td\u003e\n\u003ctd\u003e\n\n```lua\n-- Example TODO\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\n\nConstant variables:\n```kotlin\nvar x = 0\nx = 1\nval y = 2\ny = 3\n```\n\n\u003c/td\u003e\n\u003ctd\u003e\n\nCompiler error:\n```\n 4 | y = 3\n     ~\nVariable 'y' was declared as constant (val)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\n\nFunctions:\n```kotlin\nval f1 = \\arg1, arg2 -\u003e {\n    print(arg1)\n    arg1 + arg2\n}\n\n// Block can be omitted for a single expression\nval f2 = \\x -\u003e 1+x\n\n// Arguments can be omitted when there are none\nval f3 = \\[ \"a\": \"b\" ]\nval f4 = \\{\n  print(\"f4\")\n  f3()\n}\n```\n\n\u003c/td\u003e\n\u003ctd\u003e\n\n```lua\nlocal f1 = (function(arg1,arg2)\n    print(arg1);\n    return (arg1+arg2);\nend);\n\nlocal f2 = (function(x)\n    return (1+x);\nend);\n\nlocal f3 = (function()\n    return {[\"a\"]=\"b\"};\nend);\n\nlocal f4 = (function()\n    print(\"f4\");\n    return f3();\nend);\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTechnoJo4%2Fluadaul","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FTechnoJo4%2Fluadaul","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTechnoJo4%2Fluadaul/lists"}