{"id":14008382,"url":"https://github.com/hylang/hydiomatic","last_synced_at":"2025-04-15T21:25:20.796Z","repository":{"id":13367813,"uuid":"16055473","full_name":"hylang/hydiomatic","owner":"hylang","description":"The Hy Transformer","archived":false,"fork":false,"pushed_at":"2019-05-07T16:04:01.000Z","size":248,"stargazers_count":82,"open_issues_count":4,"forks_count":4,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-04-14T02:06:19.630Z","etag":null,"topics":["hy","logic-programming","minikanren","python","static-code-analysis","symbolic-computation"],"latest_commit_sha":null,"homepage":null,"language":"Hy","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/hylang.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":"2014-01-19T22:10:42.000Z","updated_at":"2025-04-05T03:29:10.000Z","dependencies_parsed_at":"2022-09-03T01:22:15.163Z","dependency_job_id":null,"html_url":"https://github.com/hylang/hydiomatic","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hylang%2Fhydiomatic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hylang%2Fhydiomatic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hylang%2Fhydiomatic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hylang%2Fhydiomatic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hylang","download_url":"https://codeload.github.com/hylang/hydiomatic/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249155723,"owners_count":21221651,"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":["hy","logic-programming","minikanren","python","static-code-analysis","symbolic-computation"],"created_at":"2024-08-10T11:01:38.356Z","updated_at":"2025-04-15T21:25:20.773Z","avatar_url":"https://github.com/hylang.png","language":"Hy","readme":"Hydiomatic\n==========\n\n[![Build Status](https://img.shields.io/travis/hylang/hydiomatic.svg?style=flat-square)](https://travis-ci.org/hylang/hydiomatic)\n[![Downloads](https://img.shields.io/pypi/dm/hydiomatic.svg?style=flat-square)](https://pypi.python.org/pypi/hydiomatic)\n[![Version](https://img.shields.io/pypi/v/hydiomatic.svg?style=flat-square)](https://pypi.python.org/pypi/hydiomatic)\n\nHydiomatic is a static code analyser for [Hy](http://hylang.org/),\nthat can analyse a form, and suggest a simplification, or a more\nidiomatic alternative.\n\nThe software is under heavy development, and has serious limitations,\nbut it can already perform interesting transformations.\n\nInstallation\n------------\n\nHydiomatic depends on [adderall][adderall], and can be installed the\nusual way with `pip`:\n\n```shell\n$ pip install -r requirements.txt\n```\n\n [adderall]: https://github.com/algernon/adderall\n\nUsage\n-----\n\nThe library can be used either via the `hydiomatic` script:\n```shell\n$ hydiomatic -d FILENAME\n```\nor programmatically:\n```clojure\n(import [hydiomatic.core [*]])\n\n(simplify '(if (not (= 0 (- 1 1)))\n             (do (print (+ 1 (+ 2 3)) [a b {\"c\" (+ a 1)}]))))\n;=\u003e (unless (zero? (dec 1))\n;     (print (+ 1 2 3) [a b {\"c\" (inc a)}]))\n```\n\nFor more information on what the script can do, run `hydiomatic --help`.\n\nExample\n--------\n\nHere's an example of Hydiomatic updating itself from an older Hy syntax:\n```shell\n$ git show 5d3c958:bin/hydiomatic.hy \u003e old_hydiomatic.hy\n$ hydiomatic -d old_hydiomatic.hy\n```\n\nLicense\n-------\n\nAll the code is licensed under the GNU Lesser General Public License\n(v3+).\n","funding_links":[],"categories":["Hy"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhylang%2Fhydiomatic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhylang%2Fhydiomatic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhylang%2Fhydiomatic/lists"}