joker

Small Clojure interpreter, linter and formatter.

EPL-1.0 License

Stars
1.6K

Bot releases are hidden (Show)

joker -

Published by candid82 over 4 years ago

General improvements

  • preserve fractional part in Double string representation
  • make joker.time functions work with BigInts and Doubles, not just Ints
  • improve joker.json/read-string: try to read integers as Ints, not Doubles
  • add validation to ns-sources's argument
  • make slurp work with reader objects (like *in*)
  • make spit work with non-string content (like in Clojure) and with writer objects (like *out*)
  • handle CTRL+Z and CTRL+\ properly (thanks @jcburley!)

Linter improvements

  • support .jokerd/linter.joke (along with .jokerd/linter.clj[s/c])

Fixes

  • fix joker.os/env when = is present in values (thanks @jcburley!)
joker -

Published by candid82 over 4 years ago

Fixes

  • fix regression in linter
joker -

Published by candid82 over 4 years ago

General improvements

  • use bash-like tab completion

Fixes

joker -

Published by candid82 over 4 years ago

General improvements

  • REPL enhancements: basic tab completion, automatic parenthesis matching, persistent history
  • add joker.core/exit function, add zero arity to joker.os/exit function
  • add joker.time/in-timezone function

Linter improvements

  • improve linting inside deftest
joker -

Published by candid82 over 4 years ago

General improvements

  • significantly improve startup time (thanks @jcburley!)
  • resolve symbolic links when loading libs
  • add joker.io/pipe and joker.io/close functions
  • add joker.bolt namespace (bindings for Bolt, in-process key/value store)
  • add joker.os/temp-dir, joker.os/mkdir-temp and joker.os/create-temp

Linter improvements

  • use :known-macros from .joker config when linting .joke files.

Fixes

joker -

Published by candid82 over 4 years ago

General improvements

  • added *core-namespaces* private variable (thanks @jcburley!)
  • added joker.core/go-spew private function (when built with go_spew tag) (thanks @jcburley!)
  • joker.string/split now supports string as a separator argument (thanks @jcburley!)
  • added joker.string/re-quote function (thanks @jcburley!)
  • added joker.os/get-env function
  • added joker.pprint/print-table function
  • added verbosity levels for debug output (thanks @jcburley!)
  • all built-in namespaces are now available for use without having to require them (thanks @jcburley!)
  • added joker.uuid/new function

Fixes

  • fixed reading octals
  • fixed syntax-quoting of type names
joker -

Published by candid82 almost 5 years ago

General improvements

  • improve diagnostics around wrong arity function calls (thanks @jcburley!)
  • stabilize most hash values (thanks @jcburley!)
  • add joker.better-cond namespace (based on https://github.com/Engelberg/better-cond) (thanks @hlship!)
joker -

Published by candid82 almost 5 years ago

General improvements

  • implemented goroutines and channels
  • added new joker.hiccup namespace (thanks @hlship!)
  • added new functions joker.os/remove and joker.os.remove-all (thanks @jcburley!)
  • added support for direct file urls in ns-sources

Linter improvements

  • warn on inline def
  • warn on redundant do form

Fixes

  • ns and in-ns are now always resolvable (like in Clojure)
joker -

Published by candid82 almost 5 years ago

General improvements

  • added --error-to-repl command line argument (thanks @jcburley!)
  • save --file/--expr input for history playback when --*-to-repl in effect (thanks @jcburley!)
  • added tag to vars' meta in standard namespaces (thanks @jcburley!)
  • added many new functions in joker.math namespace (thanks @jcburley!)

Linter improvements

  • added the ability to lint directories and report globally unused namespaces and public vars. See docs for details
joker -

Published by candid82 about 5 years ago

Fixes

  • fixed (read-line) regression in v0.12.8.
joker -

Published by candid82 about 5 years ago

General improvements

  • improved string representation of Double
  • added :keywords? option to joker.json/read-string
  • joker.repl/doc now supports types (Thanks @jcburley!)
  • fixed a crash when comparing built-in functions
  • added :stdout and :stderr option to joker.os/exec.
  • BREAKING CHANGE: changed :stdin, :stdout and :stderr options in joker.os/exec to accept IOReader and IOWriter instead of :pipe keyword (see https://github.com/candid82/joker/issues/266#issuecomment-537793109)
  • added --exit-to-repl [socket] and --file command line options (thanks @jcburley!)
  • added joker.io namespace and joker.io/copy function
  • added *main-file* var
  • BREAKING CHANGE: resolving unbound vars now returns nil instead of throwing an exception (previous behavior).

Linter improvements

  • improved type warnings
  • warn on destructuring with no bindings
joker -

Published by candid82 about 5 years ago

General improvements

  • improved string representation for BigFloat
  • added support for :append option in spit
  • added support for (doc <namespace>) (thanks @jcburley!)

Linter improvements

  • improved constructor calls handling in ClojureScript (see https://github.com/candid82/joker/issues/249)
  • warn on try without catch or finally
  • warn on try or finally with empty body
  • warn on do with 0 or 1 forms
  • warn on when and when-not with empty body

Fixes

  • fixed integer promotion in Ratio operations
joker -

Published by candid82 about 5 years ago

General improvements

  • added joker.os/open and joker.os/close functions
  • added joker.core/line-seq function
  • added joker.csv namespace

Fixes

  • fix count for strings with unicode characters
joker -

Published by candid82 over 5 years ago

General improvements

  • added joker.time/parse and joker.time/add-date functions (thanks @mrichards42!)
  • fixed and improved stdin handling in joker.os/exec (thanks @rwstauner and @jcburley!)
  • ex-message now works with built-in errors
  • added joker.os/exists? function

Linter improvements

Fixes

  • fixed ex-cause for nil case
joker -

Published by candid82 over 5 years ago

General improvements

  • added joker.filepath namespace
  • added more time formats to joker.time
  • symbol is now a function
  • implemented letfn

Linter improvements

  • added *print-namespace-maps*
  • treat all symbols with at least two dots as class names to reduce false positives

Fixes

  • fixed stdin piping in joker.os/exec
joker -

Published by candid82 over 5 years ago

General improvements:

  • added joker.crypto and joker.hex namespaces
  • fix builds for 32-bit hosts. Thanks @jcburley!
  • added JOKER_CLASSPATH env var
  • added initial support for dependency management. Thanks @charlesg3!

Linter improvements:

  • relax type hints for with-meta
  • warn on condp with no clauses or default expression only
  • sort warnings about unused parameters and bindings by symbol name. Thanks @jcburley!

Fixes:

  • make sure merge does ArrayMap -> HashMap conversion
  • fix #() reader macro
  • fix conditional reading
joker -

Published by candid82 over 5 years ago

General improvements

  • added joker.os/set-env function. Thanks @charlesg3!
  • added joker.os/exec function
  • added joker.repl/apropos function and joker.repl/dir macro. Thanks @jcburley!
  • allowed negative numbers as command line arguments. Thanks @jcburley!
  • added joker.strconv namespace

Linter improvements

  • improved linting of proxy macro
  • fixed unused-fn-parameters warning in defprotocol
joker -

Published by candid82 over 5 years ago

General improvements

Linter improvements

Fixes

joker -

Published by candid82 over 5 years ago

General improvements

  • implemented joker.test and joker.set namespaces (thanks @jcburley!)
  • renamed Bool type to Boolean (this is a BREAKING CHANGE)

Linter improvements

Fixes

joker -

Published by candid82 almost 6 years ago

General improvements

  • added --classpath command line argument (thanks @jcburley!)

Fixes

  • fixed warning about unused private var inside a namespace (this was a regression in v0.11.0)
Package Rankings
Top 6.97% on Proxy.golang.org
Badges
Extracted from project README
CircleCI