Skip to content

planck-repl/planck

Folders and files

NameName
Last commit message
Last commit date

Latest commit

116c5eb · Aug 28, 2024
Feb 16, 2024
Mar 24, 2024
Jul 17, 2022
Apr 27, 2024
Feb 16, 2024
Mar 24, 2024
Apr 15, 2018
Aug 28, 2024
May 22, 2019
Jun 17, 2019
Apr 27, 2024
Jul 22, 2015
Mar 24, 2024
Mar 24, 2024

Repository files navigation

Planck

A stand-alone ClojureScript REPL for macOS and Linux based on JavaScriptCore.

Home page: planck-repl.org

Installing

On macOS:

brew install planck

On Ubuntu:

sudo add-apt-repository ppa:mfikes/planck
sudo apt-get update
sudo apt-get install planck

For other Linux distros, download a binary or see Building below.

Using

cljdoc badge

Launch Planck by entering planck or plk at the terminal.

The plk script executes planck, while integrating with the clojure CLI tool to add support for deps.edn and classpath-affecting options such as -Aalias.

Get help on command-line options by issuing planck -h or plk -h.

Ported Clojure Functionality

It is possible to write Clojure-idiomatic scripts like the following:

(require '[planck.core :refer [line-seq with-open]]
         '[planck.io :as io]
         '[planck.shell :as shell])

(with-open [rdr (io/reader "input.txt")]
  (doseq [line (line-seq rdr)]
    (println (count line))))

(shell/sh "say" "done")

Many of the familiar functions and macros unique to Clojure have been ported:

clojure.core/ -> planck.core/

file-seq, find-var, load-reader, load-string, line-seq, intern, ns-aliases, ns-refers, ns-resolve, read, read-line, read-string, resolve, slurp, spit, with-in-str, with-open

clojure.java.io/ -> planck.io/

as-file, as-relative-path, as-url, delete-file, file, input-stream, make-input-stream, make-output-stream, make-parents, make-reader, make-writer, output-stream, reader, resource, writer

clojure.java.shell/ -> planck.shell/

sh, with-sh-dir, with-sh-env

Building

If 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.

Prerequisites

See Building Wiki for setting up OS-specific build tooling and dependencies.

Pre-made build environments for various environments are available in build-envs.

Compiling

script/build

The resulting binary will be planck-c/build/planck.

Specify --fast to quickly build a development version that skips Closure optimization:

script/build --fast

If you specify -Sdeps or -R<alias>, it will be passed through to the underlying clojure command during the build process. This can be used to specify a ClojureScript dep to use.

Tests

script/test

Installing

The following will install Planck under the prefix /usr/local:

sudo script/install

If you'd like to install Planck under a different prefix, you may pass -p. For example:

sudo script/install -p /usr

License

Planck™ copyright © 2015–2024 Mike Fikes and Contributors

Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.