This release focuses on fleshing Jaunt out as a separate platform atop Clojure, adding support for
the .jnt
file extension and the :jnt
reader conditional directive. Other changes include the
deprecation and automatic refactoring hinting of use
and refer
, the addition of ^:uses
metadata fo AFn
instances in support of future static analysis work and migration to JDK8 for the
entire project although few JDK8 features are used at this time.
.jnt
files (@arrdem).
load-file
now chooses the first file of .class
, .jnt
, .clj
, .cljc
.^:uses
metadata on Fn
instances (@arrdem).Infinity
, NaN
(@arrdem).:jnt
in reader conditionals (@arrdem).
java.lang.Iterable
over clojure.lang.Seqable
using a Java 8 interface default methodclojure.lang.RT.union(set, seq):set
user.clj
(@arrdem).clojure.core/refer
(@arrdem).
clojure.core/refer
clojure.core/refer
to emit a warning describing how to rewrite refer into require.clojure.core/sift
.clojure.core/use
to emit a warning describing how to rewrite use into require/refer.use
.*jaunt-version*
loading due to the Maven qualifier being empty/nil
ns
forms to prefer explicit full ns macro docstrings, attrs over ^{}
^:added
version metadata on namespaces and vars^:deprecated
version metadata on namespaces and vars^:authors
metadata on namespaces, replacing ^:author
etc/bin/run-tests.sh
$CIRCLE_NODE_INDEX
var.)run-tests.sh
*jaunt-version*
, deprecating *clojure-version*
(@arrdem).private?
check ^:private
(@arrdem).
private?
to check the correct metadataprivate?
deprecated?
Var
s which are bound 'once' and
those which are simply bound.clojure.lang.Var.isOnce()
, clojure.lang.Var.setOnce()
, clojure.lang.Var.setOnce(bool)
.clojure.core/defonce
to use isOnce
and set ^:once
rather than simply checking if
the Var
is bound.clojure.core/defonce
now returns the defined Var
same as def
.clojure.core/defonce
with regards to all of the above behavior.clojure.core/global-higherarchy
looses ^:private
during reloading due to a
forward declaration lacking the appropriate tag.clojure.core/process-annotation
looses ^:private
during reloading due to a
forward declaration lacking the appropriate tag.me.arrdem/clojarr
to org.jaunt-lang/jaunt
.clojure.repl/source-fn
could fail to read the source for a symbol if the
symbol makes textual use of reader namespaced keywords.^:private
, ^:dynamic
, ^:once
as metadata on a Var
and
the isDynamic
/setDynamic
,isOnce
/setOnce
, isPublic
/setPublic
methods on the
Var
. Ensures that for instance a Var
can never have isDynamic → true
without having the
^:dynamic
metadata, and that if the ^:dynamic
flag is lost, the Var
will correctly state
isDynamic → false
.^:private
is discarded.^:dynamic
is discarded.^:once
is discarded.clojure.core/*line*
and clojure.core/*column*
(@arrdem).
clojure.core/ns?
(@arrdem).
ns?
type predicate.clojure.core/ns-name
from ^:deprecated (@arrdem).
^:deprecated
flag from ns-name
clojure.lang.Namespace.name:Symbol
rather than making a new Symbol
from the ns's name String
.clojure.core/ns-name
return type (@arrdem).
ns-name
to return a Symbol
as before.clojure.lang.Named
interface over clojure.lang.Namespace
.clojure.lang.Namespace.getName()
. Previously returned Symbol
, now returns String
.clojure.lang.Named
interface over clojure.lang.Var
.:warn-on-deprecated
(true by default) as a compiler option. When true, the compiler will
emit warnings when ^:deprecated
Vars or Namespaces are used from outside of a ^:deprecated
context (deprecated ns or def).:warn-on-access-violation
(true by defautl) as a compiler option. When true, the
compiler will emit warnings if ^:private
Vars are accessed from outside the namespace in which
they are defined.:warn-on-earmuffs
(true by default) as a compiler option. When true, the compiler will
emit warnings if a Var is named with "earmuffs" (matches #"^\*.+\*$"
) and is not
^:dynamic
. This warning was already present in Clojure, but there was no way to turn it off.:pedantic
(false by default) as a compiler option. When true, all compiler warnings are
enabled. False by default so that users may more easily selectively mask warnings.Can you improve this documentation? These fine people already did:
Reid 'arrdem' McKenzie, Reid D McKenzie & Daniel ComptonEdit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close