{"id":15672335,"url":"https://github.com/timoniq/laurelang","last_synced_at":"2025-05-06T21:22:47.007Z","repository":{"id":37403267,"uuid":"457262845","full_name":"timoniq/laurelang","owner":"timoniq","description":"A pure logical, compact language / research. Further descendant TBA","archived":false,"fork":false,"pushed_at":"2024-03-29T08:00:05.000Z","size":1211,"stargazers_count":16,"open_issues_count":11,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-04-27T08:37:23.440Z","etag":null,"topics":["logic-programming"],"latest_commit_sha":null,"homepage":"https://laurelang.org","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/timoniq.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}},"created_at":"2022-02-09T08:00:08.000Z","updated_at":"2024-08-19T11:54:27.000Z","dependencies_parsed_at":"2024-03-29T09:22:20.062Z","dependency_job_id":"72ad9dd7-2b03-42b9-b110-7be589c0c70b","html_url":"https://github.com/timoniq/laurelang","commit_stats":{"total_commits":273,"total_committers":2,"mean_commits":136.5,"dds":0.0146520146520146,"last_synced_commit":"02daeeeaf761151b320351812193ac3ce4292b3f"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timoniq%2Flaurelang","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timoniq%2Flaurelang/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timoniq%2Flaurelang/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timoniq%2Flaurelang/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/timoniq","download_url":"https://codeload.github.com/timoniq/laurelang/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252770012,"owners_count":21801463,"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":["logic-programming"],"created_at":"2024-10-03T15:24:16.550Z","updated_at":"2025-05-06T21:22:46.988Z","avatar_url":"https://github.com/timoniq.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/timoniq/laurelang/main/.github/logo.svg\" height=\"150px\" align=\"center\"\u003e\n\u003c/p\u003e\n\u003ch1 align=\"center\"\u003elaurelang\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\u003cb\u003eA pure logical, compact language.\u003c/b\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003eWork in progress.\u003c/p\u003e\n\u003chr\u003e\n\n# Usage\n\nLaurelang stands for Logic, Abstraction and Unification with Readability and Efficience.\n\nLanguage aims to become reasonable choice for declarative, logic, constraint programming research, performant for quering and reasoning in big data.\n\nSample prime number predicate declaration:\n\n```laurelang\n: ?prime(natural).\n\n?prime(1).\n?prime(2).\n?prime(n) {\n    n \u003e 2; n?;\n    b = 2 .. sqrtu(n);\n    \u0026all b {\n        n / b -\u003e\n            fail();\n    };\n}\n```\n\nFurther reasoning on this predicate:\n\n```laurelang\n?- prime(11)\n   true\n?- prime(20..22)\n   false\n?- prime(x)\n   x = 1; x = 2; x = 3; \n   x = 5; x = 7; x = 11...\n?- prime(x), sized_bagof(15, x) = y\n   x = 43,\n   y = [1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43].\n?- filter([1, 2, 3, 4, 5], prime) = x\n   x = [1, 2, 3, 5].\n```\n\nUsing predicate `absolute` as mapper:\n\n```laurelang\n?- x = map{int}([1, -2, -3], absolute)\n   x = [1, 2, 3].\n?- [1, 2] = map{int}(x, absolute)\n   x = [1, 2];\n   x = [1, -2];\n   x = [-1, 2];\n   x = [-1, -2].\n```\n\n# Getting started\n\n## Build from source\n\nClone the repository and run auto-builder:\n\n```\ngit clone https://github.com/timoniq/laurelang.git\ncd laurelang\nmake auto\n```\n\nAuto-builder will also run test suite.\n\n# Documentation\n\n[Read documentation](https://docs.laurelang.org)  \n[Recent updates and notes](/docs/index.md)\n\n# [Contributing](https://laurelang.org/contrib)\n# License\n\n[MIT license](/LICENSE)  \nCopyright © 2022 [timoniq](https://github.com/timoniq)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimoniq%2Flaurelang","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftimoniq%2Flaurelang","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimoniq%2Flaurelang/lists"}