Re: ANN: ClojureScript 1.9.14, clojure.spec port

2016-06-02 Thread Shaun LeBron
Great stuff, thanks!  I'm not familiar, but is the `clojure.spec.gen` namespace 
going to be ported?

On Wednesday, June 1, 2016 at 1:01:58 PM UTC-5, David Nolen wrote:
> ClojureScript, the Clojure compiler that emits JavaScript source code.
> 
> 
> README and source code: https://github.com/clojure/clojurescript
> 
> 
> Leiningen dependency information:
> 
> 
>     [org.clojure/clojurescript "1.9.14"]
> 
> 
> This release includes a complete and faithful port of clojure.spec to
> ClojureScript. The functionality resides in the new cljs.spec
> namespace. All features present in Clojure 1.9.0-alpha4 are
> implemented, including REPL support, testing support and macro
> checking.
> 
> 
> As always feedback welcome.
> 
> 
> ## 1.9.14
> 
> 
> ### Enhancements
> * clojure.spec ported to cljs.spec
> 
> 
> ### Fixes
> * CLJS-1649: Possible issue with in cljs.reader or cljs.core/PersistentHashMap
> * CLJS-1647: Rethrow exception from parallel-build
> * CLJS-1642: cljs.core/reductions does not respect 'reduced'
> * CLJS-1635: Var type implements IEquiv but not IHash
> * CLJS-1629: Fix warning about duplicate test-pr-str
> * CLJS-1637: Missing docstrings for a few vars

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: ANN: ClojureScript 1.7.28 - Optional Self Hosting

2015-07-31 Thread Shaun LeBron
On Friday, July 31, 2015 at 12:52:23 PM UTC-5, David Nolen wrote:
> ClojureScript, the Clojure compiler that emits JavaScript source code.
> 
> 
> README and source code: https://github.com/clojure/clojurescript
> 
> 
> Leiningen dependency information:
> 
> 
>     [org.clojure/clojurescript "1.7.28"]
> 
> 
> ClojureScript now has a proper version number. This version number is
> designed to reflect feature parity with Clojure.
> 
> 
> The primary new feature of this release is optional
> self hosting. ClojureScript can now run either on the JVM or directly on
> JavaScript. Please refer to the docstrings in the new cljs.js
> namespace for details on this functionality. cljs.js is designed to
> enable new use cases (iOS, Android, interactive tutorials, snippet
> sharing) not well served by the default compilation model.
> 
> 
> The release also includes numerous bug fixes and enhancements.
> 
> 
> This release also bumps the Clojure dependency to 1.7.0 and
> tools.reader to 0.10.0-alpha3.
> 
> 
> As always feedback welcome!
> 
> 
> ## 1.7.28
> 
> 
> ## Enhancements
> * New namespace cljs.js provides analysis, compilation, and eval
> * CLJS-1360: Refactor JS module processing to work with recent Google Closure 
> compiler changes
> * CLJS-1282: Add a :pprint option to the default reporter in cljs.test
> * CLJS-1308: :analyze-path should be extended to take a vector of paths
> * CLJS-1230: ES 2015 Module Processing
> * CLJS-1231: AMD Module Processing
> * CLJS-1092: CommonJS Module processing
> 
> 
> ## Changes
> * CLJS-1376: Printing in a tagged literal data form
> * CLJS-836: Replace seq-based iterators with direct iterator for all non-seq 
> collections that use SeqIterator
> * CLJS-1367: Expose default-warning-handler and warning-enabled?
> * CLJS-1267: Added the :end-test-all-vars and :end-test-vars events to have 
> end events for all cljs.test api functions
> * CLJS-1337: Move parse ns side-effects into a separate compiler pass
> * CLJS-1247: Split out error printing from regular printing
> * CLJS-1329: Support for reading #js tagged literals in bootstrap
> * CLJS-1191: rebased patch Update clojure.walk to the current version on 
> clojure
> * CLJS-1321: remove getNamespace & getName method calls from defrecord
> * CLJS-1281: Preserve test order
> * CLJS-934: In the REPL return vars after defs
> 
> 
> ## Fixes
> * CLJS-1316 let does not detect invalid binding vector when it contains 
> destructuring
> * CLJS-1033: take a drop accept nil as n argument
> * CLJS-1324: Compiler fails to raise warning/error when invoking a keyword 
> without arguments
> * CLJS-1352: cljs.js: Allow conditional readers
> * CLJS-1348: meta is printing for def at REPL
> * CLJS-1342: cljs.reader/read-string should throw Error when not called with 
> string
> * CLJS-1341: Fix CommonJS conversion bug
> * CLJS-1333: Analyze meta on quoted symbols
> * CLJS-1210: Javascript built-in arguments replaces nil arguments locally 
> defined by let
> * CLJS-1248: alter-meta! does not work on vars
> * CLJS-1276: var equality differs from Clojure
> * CLJS-1310: ns libspec error message misses :import
> * CLJS-428: Added step to escape docstrings with */ and associated test
> * CLJS-1331: Regex literal emits invalid JS
> * CLJS-1338: NPE in confirm-var-exists if suffix is ".."
> * CLJS-1319: Cannot locate module namespace when filename contains dash
> * CLJS-1317: Incremental compilation issues for :nodejs target
> * CLJS-1227 Raise error when if form has more than 4 statements
> * CLJS-1306: Browser REPL :asset-path with leading slash breaks source map 
> support
> * CLJS-1290: :refer does not work with Closure JS namespaces
> * CLJS-1307: Doc for ns missing
> * CLJS-1301: local :foreign-libs are not picked up the first time browser 
> REPL is started

1.7.28 API docs updated: 
https://github.com/cljsinfo/cljs-api-docs/blob/1.7.28/INDEX.md

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: ANN: ClojureScript 0.0-2913, Google Closure Modules, improved nREPL support

2015-02-23 Thread Shaun LeBron
I was trying out the Closure Module support.  Looks like we need to wait for 
cljsbuild to support this.
On Saturday, February 21, 2015 at 3:16:11 PM UTC-6, Boris Kourtoukov wrote:
> On Saturday, February 21, 2015 at 1:01:39 PM UTC-5, David Nolen wrote:
> > ClojureScript, the Clojure compiler that emits JavaScript source code.
> > 
> > 
> > README and source code: https://github.com/clojure/clojurescript
> > 
> > 
> > New release version: 0.0-2913
> > 
> > 
> > Leiningen dependency information:
> > 
> > 
> >     [org.clojure/clojurescript "0.0-2913"]
> > 
> > 
> > This release comes with two very big enhancements.
> > 
> > 
> > The first is support for Google Closure Modules via the :modules build
> > option. Google Closure Modules permits splitting advanced compiled
> > builds into optimal smaller pieces for faster page
> > loads. ClojureScript's Google Closure Module support is fully
> > :foreign-libs aware. Source mapping for modules is also fully
> > supported.
> > 
> > 
> > The feature is described in more detail here:
> > https://github.com/clojure/clojurescript/wiki/Compiler-Options#modules
> > 
> > 
> > The second big change is a fundamental rearchitecting of ClojureScript
> > REPLs. ClojureScript REPLs now support a set of options similar to
> > those taken by `clojure.main/repl` with small changes to account for
> > different JavaScript evaluation environments. Many third party REPLs
> > like Figwheel, Weasel, and Ambly are either unaffected or have already
> > accounted for these changes. However current tooling leveraging
> > Piggieback will likely present an inferior experience as Piggieback was
> > designed to work around the previous limitations of ClojureScript
> > REPLs. Now that ClojureScript REPLs are more like the standard Clojure
> > REPL it should be far simpler to add proper interruptible-eval and
> > load-file nREPL middleware so that existing tooling around nREPL can
> > more easily integrate ClojureScript REPLs as first class citizens.
> > 
> > 
> > Feedback on both of these enhancements is very welcome!
> > 
> > 
> > 
> > There are also many smaller fixes around REPL command line behavior,
> > the Nashorn REPL, :foreign-libs resource finding issues, the full
> > list follows:
> > 
> > 
> > ## 0.0-2913
> > * Support custom :output-to for :cljs-base module
> > 
> > 
> > ## 0.0-2911
> > 
> > 
> > ### Enhancements
> > * CLJS-1042: Google Closure Modules :source-map support
> > * CLJS-1041: Google Closure Modules :foreign-libs support
> > * Google Closure Modules support via :modules
> > * CLJS-1040: Source-mapped script stack frames for the Nashorn repl
> > 
> > 
> > ### Changes
> > * CLJS-960: On carriage return REPLs should always show new REPL prompt
> > * CLJS-941: Warn when a symbol is defined multiple times in a file
> > * REPLs now support parameterization a la clojure.main/repl
> > * all REPLs analyze cljs.core before entering loop
> > * can emit :closure-source-map option for preserving JS->JS map
> > * REPLs can now merge new REPL/compiler options via -setup
> > 
> > 
> > ### Fixes
> > * CLJS-998: Nashorn REPL does not support require special fn
> > * CLJS-1052: Cannot require ns from within the ns at the REPL for reloading 
> > purposes
> > * CLJS-975: preserve :reload & :reload-all in ns macro sugar
> > * CLJS-1039: Under Emacs source directory watching triggers spurious 
> > recompilation
> > * CLJS-1046: static vars do not respect user compile time metadata
> > * CLJS-989: ClojureScript REPL loops on EOF signal
> > * fix DCE regression for trivial programs
> > * CLJS-1036: use getResources not findResources in get-upstream-deps*
> 
> Closure Module support is an amazing  addition, thank you for implementing 
> it. It is something that has always been nagging at me when building multi 
> page/multi ui applications with CLJS.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: The Essence of ClojureScript Redux

2015-01-04 Thread Shaun LeBron
Really exciting seeing the node repl becoming easier to use.  (nice 
mies-generated readme too)

I can see this being supported by cljsbuild as a default repl task, and the 
cljsbuild alias in the readme being used for "cljsbuild repl" without the need 
for the repl scripts in the project directory.

To continue Brandon's idea, since we're relying on a `cljsbuild` alias in the 
user's bash profile, a global `cljs` script released on brew/apt could fulfill 
this role and more.  It could have straightforward behavior in an individually 
configured project, or run some default configuration outside one perhaps.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: ANN: ClojureScript 0.0-2496, cljs.test - a clojure.test port

2014-12-17 Thread Shaun LeBron
really exciting stuff, thanks a lot

On Wednesday, December 17, 2014 3:54:09 PM UTC-6, David Nolen wrote:
> ClojureScript, the Clojure compiler that emits JavaScript source code.
> 
> README and source code: https://github.com/clojure/clojurescript
> 
> New release version: 0.0-2496
> 
> Leiningen dependency information:
> 
> [org.clojure/clojurescript "0.0-2496"]
> 
> The big change in this release is a port of the clojure.test namespace
> - cljs.test.
> It is largely compatible with clojure.test and implements enough
> functionality such
> that we could port all of the existing tests to it. It's also featureful 
> enough
> to support a ClojureScript port of test.check that is underway.
> cljs.test is compatible
> with all of the optimization settings provided by the compiler including 
> :none.
> 
> Still cljs.test may not satisfy all the patterns that people have come to 
> expect
> from clojure.test so feedback (and enhancement/fix patches) is very welcome.
> 
> On the way we implemented changes to the compiler in order to make
> custom testing
> frameworks simpler to implement - this includes compiler support for
> :test metadata as well
> as introducing static vars.
> 
> ClojureScript does not have vars, however there are var patterns that
> are largely
> static in nature and useful for metaprogramming and REPL interactions. Towards
> this end we've implemented the `var` special form and introduced very 
> restricted
> functionality - metadata is the primary use case.
> 
> (defn foo [])
> (meta #'foo) ;; will return the expected metadata
> 
> cljs.test is implemented on top of this functionality as well as a new 
> namespace
> cljs.analyzer.api which I think macro writers will find quite useful.
> 
> Also there's a doc macro now in the cljs.repl namespace that works as 
> expected.
> Patches welcome to bring all the useful bits of clojure.repl into cljs.repl.
> 
> ## 0.0-2496
> 
> ### Enhancements
> * cljs.test added, mirrors clojure.test
> * New cljs.analyzer.api namespace for easier access to analysis info from 
> macros
> * New cljs.analyzer.api namespace for easier access to analysis info from 
> macros
> * Support :test metadata on vars
> * Support static vars
> * cljs.source-map for client side source mapping
> * expose ClojureScript :warnings build option
> * CLJS-909: Add stable api for consumers of compiler data.
> 
> ### Changes
> * convert all ClojureScript tests to cljs.test
> * add volatile! from Clojure 1.7
> * stateful transducers use volatile!
> * added `js-debugger` macro, compiles to "debugger;"
> * CLJS-892: Improve performance of compare-symbols/compare-keywords
> * CLJS-696: remove arguments usage from defrecord constructor
> * unroll `partial`, copy & pasted from Clojure core.clj
> * optimize clojure.string/join
> 
> ### Fixes
> * fix `cljs.nodejs/enable-util-print!`, incorrectly monkey patched
> `cjls.core/string-print` instead of setting `cljs.core/*print-fn*`
> * cljs.reader bug, '/ incorrectly read
> * avoid emitting the same goog.require

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: ANN: ClojureScript 0.0-2411

2014-12-07 Thread Shaun LeBron
might need to update the readme with this latest version

On Friday, December 5, 2014 2:03:25 PM UTC-6, David Nolen wrote:
> ClojureScript, the Clojure compiler that emits JavaScript source code.
> 
> README and source code: https://github.com/clojure/clojurescript
> 
> New release version: 0.0-2411
> 
> Leiningen dependency information:
> 
> [org.clojure/clojurescript "0.0-2411"]
> 
> Feedback welcome!
> 
> ### Enhancements
> * forcing source maps to load for dynamic js reloads
> * All ISeqable types are now ES6 iterable
> * CLJS-863: Invalid arity error when calling 0-arity multimethod
> * CLJS-622: better error reporting for zero arity protocol methods
> * CLJS-506: expose more Closure minification knobs
> 
> ### Changes
> * CLJS-807: Emitter cannot emit BigInt or BigDecimal
> * CLJS-749: Ignore .repl-* given that CLJS version is appended by default.
> * CLJS-749: Append CLJS version to browser repl-env
> * CLJS-749: *clojurescript-version* is unbound return empty string
> * implement INamed for multi-method
> * revert CLJS-801
> * CLJS-888: Omit redundant {} around emitted recur
> * CLJS-888: Better placement of newlines in emitter
> * Join preambles with newline line to catch cases with files without newlines.
> * add js-in interop macro
> * Add nthrest
> * CLJS-510: Throw error when :output-wrapper and :optimizations
> :whitespace combined
> * CLJS-875: bump tools.reader dep to 0.8.10
> * CLJS-879: add `update` from Clojure 1.7
> * CLJS-857: change deftype*/defrecord* special forms to include their
> inline methods decls
> 
> ### Fixes
> * CLJS-885: relax type inference around numbers
> * fix var resolution bug pointed out by Brandon Bloom
> * CLJS-853: propagate read-time metadata on fn and reify forms at runtime
> * CLJS-716: support hashing of JavaScript dates
> * CLJS-814: clojure.string/reverse breaks surrogate pairs
> * Recursively check IEncodeClojure in js->clj
> * CLJS-873: non-higher-order calls to array-map should return PAMs
> * CLJS-881: check for duplicate keys in array-map
> * select-keys did not preserve metadata

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [ANN] freactive - high performance, pure Clojurescript, declarative DOM library

2014-11-17 Thread Shaun LeBron
On Sunday, November 16, 2014 8:20:29 PM UTC-6, Aaron Craelius wrote:
> freactive (pronounced "f reactive" for functional reactive) is a new high 
> performance, pure Clojurescript, declarative DOM library: 
> https://github.com/aaronc/freactive
> 
> It has a syntax very similar to that of Reagent and was in fact inspired by 
> Reagent, Om, and others.
> 
> I came up with it when I was doing some DOM programming after having spending 
> a fair amount of time working with JavaFX (see my soon to be announced 
> library fx-clj: https://github.com/aaronc/fx-clj). I thought Om and Reagent 
> were very nice to work with (and actually inspired some what I did with 
> fx-clj), but I felt from my desktop GUI experience, that I could take things 
> a few steps further.
> 
> freactive's main advantages over existing solutions are probably built-in 
> animations support and slightly higher performance.
> 
> Here are it's goals from the README:
> Provide a simple, intuitive API that should be almost obvious to those 
> familiar with Clojure (inspiration from reagent)Allow for high-performance 
> rendering good enough for animated graphics based on a purely declarative 
> syntaxAllow for reactive binding of any attribute, style property or child 
> node
> Allow for coordinated management of state via cursors (inspiration from 
> om)Provide deeply-integrated animation supportAllow for cursors based on 
> paths as well as lenses
> Provide a generic items view component for efficient viewing of large data 
> sets
> Minimize unnecessary triggering of update eventsCoordinate all updates via 
> requestAnimationFrame wherever possibleBe easy to debug
> Be written in pure Clojurescript
> Provide support for older browsers via polyfills (not yet implemented)
> Any feedback is welcome!!
> I'm not sure I like the name "freactive" - but it was the best I could think 
> of at the time. Suggestions for alternative names are welcome.

How does it perform its dom-diffing?

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: ANN: ClojureScript 0.0-2371

2014-10-10 Thread Shaun LeBron
(:require [secretary.core :as secretary :include-macros true])
; desugars to add=>  (:require-macros [secretary.core :as secretary])

(:require [secretary.core :as secretary :refer-macros [defroute])
; desugars to add=> (:require-macros [secretary.core :as secretary :refer 
[defroute]])

This changed to its original intended behavior so we can use :refer and 
:refer-macros together in the same require spec, without using a redundant 
`:include-macros true` as a separator to distinguish what we're referring.

On Friday, October 10, 2014 8:29:07 AM UTC-5, Julien Eluard wrote:
> Hi David,
> 
> 
> 
> thanks once again for the continuous effort to improve the ClojureScript 
> compiler.
> 
> 
> 
> Some warnings are now printed when using a specific `include-macros` syntax. 
> I wanted to confirm that this syntax was indeed incorrect.
> 
> An example is: [secretary.core :as secretary :include-macros true :refer 
> [defroute]]
> 
> 
> 
> Is the proper way to include macros to rely on the top-level `require-macros` 
> keyword?
> 
> 
> 
> Thanks,
> 
> Julien
> 
> 
> 
> Le vendredi 10 octobre 2014 09:07:31 UTC-3, David Nolen a écrit :
> 
> > ClojureScript, the Clojure compiler that emits JavaScript source code.
> 
> > 
> 
> > 
> 
> > 
> 
> > README and source code: https://github.com/clojure/clojurescript
> 
> > 
> 
> > 
> 
> > 
> 
> > New release version: 0.0-2371
> 
> > 
> 
> > 
> 
> > 
> 
> > Leiningen dependency information:
> 
> > 
> 
> > 
> 
> > 
> 
> > [org.clojure/clojurescript "0.0-2371"]
> 
> > 
> 
> > 
> 
> > 
> 
> > This release includes minor fixes, faster collection iterators, and
> 
> > 
> 
> > stays in sync with the latest transducers changes in Clojure master.
> 
> > 
> 
> > 
> 
> > 
> 
> > ### Fixes
> 
> > 
> 
> > * CLJS-862: fix inconsistent re-pattern
> 
> > 
> 
> > * CLJS-866: Faulty ns macro desugaring
> 
> > 
> 
> > * CLJS-869: When preamble is not found in source directory, compiler
> 
> > 
> 
> > does not report it

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.