{"id":20512661,"url":"https://github.com/seggan/xclj","last_synced_at":"2025-09-25T10:30:30.330Z","repository":{"id":216188368,"uuid":"740669983","full_name":"Seggan/xclj","owner":"Seggan","description":"Clojure, XML edition","archived":false,"fork":false,"pushed_at":"2024-01-08T22:20:31.000Z","size":7,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-15T20:43:39.386Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Seggan.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}},"created_at":"2024-01-08T20:27:27.000Z","updated_at":"2024-11-04T22:33:11.000Z","dependencies_parsed_at":"2024-01-08T22:26:03.372Z","dependency_job_id":"e3d3cf5e-18f0-4035-a65b-7e8f1fd1ed48","html_url":"https://github.com/Seggan/xclj","commit_stats":null,"previous_names":["seggan/xclj"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Seggan%2Fxclj","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Seggan%2Fxclj/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Seggan%2Fxclj/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Seggan%2Fxclj/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Seggan","download_url":"https://codeload.github.com/Seggan/xclj/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234177203,"owners_count":18791613,"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":[],"created_at":"2024-11-15T20:42:16.649Z","updated_at":"2025-09-25T10:30:25.052Z","avatar_url":"https://github.com/Seggan.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"# XCLJ\n\nClojure, XML edition.\n\n```xml\n\u003cxclj\u003e\n    \u003cdefn\u003ex [a]\n        \u003cprintln\u003ea\u003c/println\u003e\n    \u003c/defn\u003e\n    \u003cdefn\u003emain [arg]\n        \u003cx\u003e\n            \u003cq tag=\"+\"\u003earg arg\u003c/q\u003e\n        \u003c/x\u003e\n    \u003c/defn\u003e\n\u003c/xclj\u003e\n```\n\n## Semantics Bootcamp\n\nInstead of using parentheses to denote function application, we use XML tags. The tag name is the function name,\nand the tag contents are the function arguments. For example, the following Clojure code:\n\n```clojure\n(println (add 1 2))\n```\n\nwould be written in XCLJ as:\n\n```xml\n\u003cprintln\u003e\n    \u003cadd\u003e1 2\u003c/add\u003e\n\u003c/println\u003e\n```\n\nShould you need to use a function that cannot be expressed as a valid XML tag name, you can use the `\u003cq\u003e` tag:\n\n```xml\n\u003cq tag=\"+\"\u003e1 2\u003c/q\u003e\n```\n\n`\u003cq\u003e` also literally inserts its contents.\n\n## Usage\n\n```bash\n$ java -jar xclj-uber.jar \u003cinput-file\u003e args...\n```\n\nThe input file must have an `\u003cxclj\u003e` root tag. The function called must be called `main`.\nAll arguments are passed to the `main` function as a vector of evaluated strings.\n\nThis is a joke project, but if you happen to somehow find it useful, I'd love to hear about it.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseggan%2Fxclj","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseggan%2Fxclj","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseggan%2Fxclj/lists"}