{"id":16312165,"url":"https://github.com/namin/logically","last_synced_at":"2025-07-09T16:09:43.140Z","repository":{"id":6409839,"uuid":"7648082","full_name":"namin/logically","owner":"namin","description":"explorations in core.logic","archived":false,"fork":false,"pushed_at":"2024-06-14T20:58:11.000Z","size":119,"stargazers_count":118,"open_issues_count":0,"forks_count":9,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-07-02T04:54:37.968Z","etag":null,"topics":["abstract-interpretation","binders","clojure","logic-programming","metaprogramming","paper-implementations","prolog"],"latest_commit_sha":null,"homepage":"","language":"Clojure","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/namin.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":"2013-01-16T15:22:53.000Z","updated_at":"2025-05-07T20:21:36.000Z","dependencies_parsed_at":"2022-08-28T07:02:06.300Z","dependency_job_id":null,"html_url":"https://github.com/namin/logically","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/namin/logically","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/namin%2Flogically","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/namin%2Flogically/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/namin%2Flogically/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/namin%2Flogically/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/namin","download_url":"https://codeload.github.com/namin/logically/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/namin%2Flogically/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264492775,"owners_count":23617049,"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":["abstract-interpretation","binders","clojure","logic-programming","metaprogramming","paper-implementations","prolog"],"created_at":"2024-10-10T21:47:14.641Z","updated_at":"2025-07-09T16:09:42.813Z","avatar_url":"https://github.com/namin.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"# logically\n\nExplorations of logic programming in Clojure's core.logic.\n\n## Sources of inspiration\n\n### [_The Art of Prolog_](https://mitpress.mit.edu/9780262691635/the-art-of-prolog/)\n  * Chapter 17: Interpreters\n     * 17.1: Interpreters for Finite State Machines ([src](src/logically/art/interpreters/fsm.clj)/[test](test/logically/art/interpreters/fsm_test.clj))\n     * 17.2: Meta-Interpreters ([src](src/logically/art/interpreters/meta.clj)/[test](test/logically/art/interpreters/meta_test.clj))\n     * 17.3: Enhanced Meta-Interpreters for Debugging ([src](src/logically/art/interpreters/meta_debug.clj)/[test](test/logically/art/interpreters/meta_debug_test.clj))\n\n\n### [_Prolog Programming for Artificial Intelligence_](http://www.amazon.com/Programming-Artificial-Intelligence-International-Computer/dp/0321417461)\n  * Chapter 25: Meta-Programming\n     * 25.6: Explanation-based generalization ([src](src/logically/ai/meta/ebg.clj)/[test](test/logically/ai/meta/ebg_test.clj))\n\n\n### [_αProlog_](http://homepages.inf.ed.ac.uk/jcheney/programs/aprolog/) for [nominal logic programming](http://arxiv.org/abs/cs/0609062)\n  * Regular expressions and automata ([src](src/logically/nominal/re.clj)/[test](test/logically/nominal/re_test.clj))\n  * Symbolic differentiation ([src](src/logically/nominal/diff.clj)/[test](test/logically/nominal/diff_test.clj))\n  * The pi-calculus operational semantics ([src](src/logically/nominal/picalc.clj)/[test](test/logically/nominal/picalc_test.clj))\n  * Cryptographic authentication protocols (Needham-Schroeder(-Lowe)) ([src](src/logically/nominal/nsl.clj)/[test](test/logically/nominal/nsl_test.clj))\n\n### [_Meta-Circular Abstract Interpretation_](http://www.cs.bgu.ac.il/~mcodish/Tutorial/)\n  * 2 Interpretation and Abstraction ([src](src/logically/abs/meta.clj)/[test](test/logically/abs/meta_test.clj))\n  * 3 Concrete Semantics and Interpreters\n    * 3.1 Observing the Success Set ([src](src/logically/abs/tp_gr.clj)/[test](test/logically/abs/tp_gr_test.clj))\n    * 3.2 Observing answers ([src](src/logically/abs/tp.clj)/[test](test/logically/abs/tp_test.clj))\n    * 3.3 Observing calls ([src](src/logically/abs/induced_tp.clj)/[test](test/logically/abs/induced_tp_test.clj))\n    * 3.4 Observing program points ([src](src/logically/abs/induced_tp_pp.clj)/[test](test/logically/abs/induced_tp_pp_test.clj))\n  * Meta-Circular Abstract Interpretation\n    * goal independent analysis ([src](src/logically/abs/tp_abs.clj)/[test](test/logically/abs/tp_abs_test.clj))\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnamin%2Flogically","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnamin%2Flogically","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnamin%2Flogically/lists"}