You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jan 28, 2019. It is now read-only.
For all that the ns form is "just" a macro, the reality of use is that it's treated as the module header and isn't an especially simple or easy one at that. This issue tracks simplifying the ns macro and making it strict with regards to only performing module-meaningful Namespace manipulations and simplifying/reducing those manipulations to those in common usage and considered good style.
Make ns strict with reference to what directives it'll accept rather than magically accepting anything in clojure.core.
Forms which are legal within the strict ns form should emit warnings or be illegal outside of the ns form. For example top level require and import out of the ns line should probably be a cause for complaint. However this one is up for debate since there are load order reasons to not be strict about this.
The text was updated successfully, but these errors were encountered:
Vist 0.2.0 upon the world
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.
- [#131](#131) Add support for `.jnt` files (@arrdem).
- `load-file` now chooses the first file of `.class`, `.jnt`, `.clj`, `.cljc`.
- [#129](#129) Emit `^:uses` metadata on `Fn` instances (@arrdem).
- [#126](#126) Add reader support for `Infinity`, `NaN` (@arrdem).
- [#123](#123) Add support for `:jnt` in reader conditionals (@arrdem).
- Update to Java 1.8
- Implement `java.lang.Iterable` over `clojure.lang.Seqable` using a Java 8 interface default method
- Add `clojure.lang.RT.union(set, seq):set`
- [#122](#122) Catch and print exceptions encountered loading `user.clj` (@arrdem).
- [#116](#116) Deprecate `clojure.core/refer` (@arrdem).
- Deprecate `clojure.core/refer`
- Refactor `clojure.core/refer` to emit a warning describing how to rewrite refer into require.
- [#117](#117) Fix typo in arglists (@arrdem).
- [#112](#112) Self-refactoring use (@arrdem).
- Add `clojure.core/sift`.
- Refactor `clojure.core/use` to emit a warning describing how to rewrite use into require/refer.
- Refactor out uses of `use`.
- [#111](#111) Add a warning when expanding deprecated macros (@arrdem).
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
For all that the
ns
form is "just" a macro, the reality of use is that it's treated as the module header and isn't an especially simple or easy one at that. This issue tracks simplifying thens
macro and making it strict with regards to only performing module-meaningfulNamespace
manipulations and simplifying/reducing those manipulations to those in common usage and considered good style.clojure.core/use
Deprecate clojure.core/use #112clojure.core/refer
Deprecate clojure.core/refer #113 / Deprecated refer #116ns
strict with reference to what directives it'll accept rather than magically accepting anything inclojure.core
.ns
form should emit warnings or be illegal outside of thens
form. For example top levelrequire
andimport
out of thens
line should probably be a cause for complaint. However this one is up for debate since there are load order reasons to not be strict about this.The text was updated successfully, but these errors were encountered: