{"id":13702835,"url":"https://github.com/Zelex/jo_clojure","last_synced_at":"2025-05-05T06:32:30.450Z","repository":{"id":37497459,"uuid":"465866139","full_name":"Zelex/jo_clojure","owner":"Zelex","description":"Fast Embeddable Clojure in C/C++","archived":false,"fork":false,"pushed_at":"2025-04-25T15:16:57.000Z","size":3363,"stargazers_count":146,"open_issues_count":2,"forks_count":7,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-04-25T16:19:51.906Z","etag":null,"topics":["c","clojure","cpp","language"],"latest_commit_sha":null,"homepage":"","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/Zelex.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","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,"zenodo":null},"funding":{"github":["Zelex"],"patreon":["jonolick"],"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2022-03-03T19:59:46.000Z","updated_at":"2025-04-25T15:17:00.000Z","dependencies_parsed_at":"2025-04-25T16:30:16.198Z","dependency_job_id":null,"html_url":"https://github.com/Zelex/jo_clojure","commit_stats":null,"previous_names":["zelex/jo_clojure","zelex/basic"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zelex%2Fjo_clojure","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zelex%2Fjo_clojure/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zelex%2Fjo_clojure/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zelex%2Fjo_clojure/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Zelex","download_url":"https://codeload.github.com/Zelex/jo_clojure/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252451966,"owners_count":21750015,"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":["c","clojure","cpp","language"],"created_at":"2024-08-02T21:00:43.912Z","updated_at":"2025-05-05T06:32:28.448Z","avatar_url":"https://github.com/Zelex.png","language":"C++","readme":"# JO Clojure\n\nAuthor Jon Olick. @JonOlick on twitter. \n\nA Fast, (soon to be) Embeddable Clojure-like language implementation in C/C++. \n\nThe near-term goal is to re-make clojure in an embedable form. \n\nThe long-term goal is to add types/functions for machine learning, tensors, etc... \n\n# Usage:\n* For the REPL: jclj\n* For running a script: jclj file.clj\n\n# Currently:\n* Native implementation of almost entire core lib. See TODO.md\n* Parses code into native structures (AST), then executes. Essentially interpreted - though does some clever things here and there. \n* Lazy sequences\n* Startup time is ridiculously fast by comparison to clojure\n* Implementations of persistent lists, vectors, hash-map, hash-set, matrix\n* Software Transactional Memory (STM)\n* Atoms\n* IO\n\n# Differences:\n* IO is very different than clojure's IO cause JVM Clojure's IO functions are practically non-existant. \n* Software Transactional Memory (STM) now works seamlessly with Atoms - thus refs are only useful if you need the history feature?\n* Not entirely complete implementation (yet). There is a LOT to do.\n* See TODO.md for information on what is left to do.\n\n# Future:\n* Compile to C/C++ code so you can compile a native executable. \n* Save/Restore program state (continue later, saved in binary format). \n* Native types and operations for Matrices and Tensors. \n* Automatic Parallelization.\n* sorted-set\n* sorted-map\n* refs\n* agents\n* other etc....\n\n# Compile/install:\n\nUnix:\nRun `make` to build and `make install` to install to `/usr/local/bin` (might require `sudo`)\n\nWindows:\nRun `c.bat` for Microsoft C/C++ compiler. Run `make` for mingw gcc.\n","funding_links":["https://github.com/sponsors/Zelex","https://patreon.com/[\"jonolick\"]"],"categories":["Languages","C++"],"sub_categories":["C/C++"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FZelex%2Fjo_clojure","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FZelex%2Fjo_clojure","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FZelex%2Fjo_clojure/lists"}