{"id":13392813,"url":"https://github.com/planck-repl/planck","last_synced_at":"2025-05-15T04:04:56.026Z","repository":{"id":1739085,"uuid":"39191344","full_name":"planck-repl/planck","owner":"planck-repl","description":"Stand-alone ClojureScript REPL","archived":false,"fork":false,"pushed_at":"2024-08-28T05:06:34.000Z","size":3897,"stargazers_count":1034,"open_issues_count":92,"forks_count":68,"subscribers_count":27,"default_branch":"master","last_synced_at":"2025-04-11T14:20:37.966Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://planck-repl.org","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/planck-repl.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"publiccode":null,"codemeta":null}},"created_at":"2015-07-16T10:39:00.000Z","updated_at":"2025-03-27T21:44:30.000Z","dependencies_parsed_at":"2023-07-06T21:34:08.534Z","dependency_job_id":"d564d27f-9b35-4a00-93fd-cc1af32c86ff","html_url":"https://github.com/planck-repl/planck","commit_stats":{"total_commits":1723,"total_committers":46,"mean_commits":37.45652173913044,"dds":0.0882182240278584,"last_synced_commit":"e2e40ab0d5c892f6cee39864dafff33d01250f25"},"previous_names":["mfikes/planck"],"tags_count":61,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/planck-repl%2Fplanck","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/planck-repl%2Fplanck/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/planck-repl%2Fplanck/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/planck-repl%2Fplanck/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/planck-repl","download_url":"https://codeload.github.com/planck-repl/planck/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254270641,"owners_count":22042858,"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-07-30T17:00:37.631Z","updated_at":"2025-05-15T04:04:55.916Z","avatar_url":"https://github.com/planck-repl.png","language":"C","funding_links":[],"categories":["C","Environments"],"sub_categories":[],"readme":"# Planck\n\nA stand-alone ClojureScript REPL for macOS and Linux based on JavaScriptCore.\n\nHome page: [planck-repl.org](https://planck-repl.org)\n\n# Installing\n\nOn macOS:\n\n```shell\nbrew install planck\n```\n\nOn Ubuntu:\n\n```shell\nsudo add-apt-repository ppa:mfikes/planck\nsudo apt-get update\nsudo apt-get install planck\n```\n\nFor other Linux distros, [download](https://planck-repl.org/binaries/) a binary or see [Building](https://github.com/planck-repl/planck#building) below.\n\n# Using\n\n[![cljdoc badge](https://cljdoc.org/badge/planck/planck)](https://cljdoc.org/d/planck/planck/CURRENT)\n\nLaunch Planck by entering `planck` or `plk` at the terminal. \n\n\u003e The `plk` script executes `planck`, while integrating with the [`clojure`](https://clojure.org/guides/getting_started) CLI tool to add support for `deps.edn` and classpath-affecting options such as `-Aalias`.\n\nGet help on command-line options by issuing `planck -h` or `plk -h`.\n\n### Ported Clojure Functionality\n\nIt is possible to write Clojure-idiomatic scripts like the following:\n\n```clojure\n(require '[planck.core :refer [line-seq with-open]]\n         '[planck.io :as io]\n         '[planck.shell :as shell])\n\n(with-open [rdr (io/reader \"input.txt\")]\n  (doseq [line (line-seq rdr)]\n    (println (count line))))\n\n(shell/sh \"say\" \"done\")\n```    \n\nMany of the familiar functions and macros unique to Clojure have been ported:\n\n#### clojure.core/ -\u003e planck.core/ \n\n[file-seq](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.core#file-seq),\n[find-var](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.core#find-var),\n[load-reader](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.core#load-reader),\n[load-string](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.core#load-string),\n[line-seq](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.core#line-seq),\n[intern](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.core#intern),\n[ns-aliases](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.core#ns-aliases),\n[ns-refers](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.core#ns-refers),\n[ns-resolve](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.core#ns-resolve),\n[read](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.core#read),\n[read-line](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.core#read-line),\n[read-string](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.core#read-string),\n[resolve](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.core#resolve),\n[slurp](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.core#slurp),\n[spit](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.core#spit),\n[with-in-str](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.core#with-in-str),\n[with-open](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.core#with-open)\n\n#### clojure.java.io/ -\u003e planck.io/\n\n[as-file](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.io#as-file),\n[as-relative-path](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.io#as-relative-path),\n[as-url](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.io#as-url),\n[delete-file](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.io#delete-file),\n[file](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.io#file),\n[input-stream](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.io#input-stream),\n[make-input-stream](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.io#make-input-stream),\n[make-output-stream](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.io#make-output-stream),\n[make-parents](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.io#make-parents),\n[make-reader](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.io#make-reader),\n[make-writer](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.io#make-writer),\n[output-stream](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.io#output-stream),\n[reader](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.io#reader),\n[resource](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.io#resource),\n[writer](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.io#writer)\n\n#### clojure.java.shell/ -\u003e planck.shell/\n\n[sh](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.shell#sh),\n[with-sh-dir](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.shell#with-sh-dir),\n[with-sh-env](https://cljdoc.org/d/planck/planck/CURRENT/api/planck.shell#with-sh-env)\n\n# Building \n\nIf using macOS or Ubuntu, you can install pre-built binaries as described above under \"Installing\". The instructions here can be used to build, test, and optionally install Planck on your machine.\n\n## Prerequisites \n\nSee [Building Wiki](https://github.com/planck-repl/planck/wiki/Building) for setting up OS-specific build tooling and dependencies.\n\nPre-made build environments for various environments are available in [build-envs](https://github.com/planck-repl/build-envs).\n\n## Compiling\n\n```shell\nscript/build\n```\n\nThe resulting binary will be `planck-c/build/planck`.\n\nSpecify `--fast` to quickly build a development version that skips Closure optimization:\n\n```shell\nscript/build --fast\n```\n\nIf you specify `-Sdeps` or `-R\u003calias\u003e`, it will be passed through to the underlying [`clojure`](https://clojure.org/guides/deps_and_cli) command during the build process. This can be used to specify a ClojureScript dep to use.\n\n## Tests\n\n```shell\nscript/test\n```\n\n## Installing\n\nThe following will install Planck under the prefix `/usr/local`:\n\n```shell\nsudo script/install\n```\n\nIf you'd like to install Planck under a different prefix, you may pass `-p`. For example:\n\n```shell\nsudo script/install -p /usr\n```\n\n# License\n\nPlanck™ copyright © 2015–2024 Mike Fikes and Contributors\n\nDistributed under the Eclipse Public License either version 1.0 or (at your option) any later version.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplanck-repl%2Fplanck","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fplanck-repl%2Fplanck","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplanck-repl%2Fplanck/lists"}