Free Clojure webinar about Klipse this weekend

2017-03-01 Thread Jay Martin
Our open source learning group is hosting the free online webinar 
_Essential Klipse_ this Saturday at 7 pm UTC. ClojureScript fundamentals 
will also be discussed. Everyone is welcome!

Klipse is a simple client-side code evaluator, pluggable on any web page. 
The essence of Klipse is *interactivity*. Interactivity is a vital part of 
an effective learning experience. Klipse embraces the concept of *code 
interactivity* and makes it available everywhere, e.g. in any web page!

http://discuss.thevalueoflearning.org/t/webinar-discussion-2-essential-klipse/39?u=jay

-- 
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: Prgram uses a lot of swap

2017-03-01 Thread Cecil Westerhof
2017-02-26 21:06 GMT+01:00 Thomas Heller :

> To control the memory you can add :jvm-opts ["-Xmx512m"] to your
> project.clj. It will set the max memory of the JVM to 512mb which should be
> enough for your program.
>

​With the help of /proc//status I found out that it can be less. At
the moment it is 320 MB, but it can be probably be even less. But I let it
first run for at least a week to see if it is going to use swap.

-- 
Cecil Westerhof

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


[ANN] Specter 1.0: Clojure's missing piece

2017-03-01 Thread Nathan Marz
Specter is a library that supercharges your ability to work with regular 
Clojure data structures. Happy to announce I just released 1.0, a huge 
milestone for the project.

I also wrote a post about why I consider Specter to be Clojure's missing 
piece: http://nathanmarz.com/blog/clojures-missing-piece.html

This release implements the most requested feature for Specter, which is 
the ability to easily remove values from maps or sequences. Examples:

(setval [ALL nil?] NONE [1 2 nil 3 nil]) => [1 2 3]
(setval [:a (nthpath 1)] NONE {:a [1 2 3]}) => {:a [1 3]}
(setval [MAP-VALS even?] NONE {:a 1 :b 2 :c 3 :d 4}) => {:a 1 :c 3}
(setval FIRST NONE [1 2 3]) => [2 3]

This release also provides full integration with Clojure's transducers, 
allowing you to express many transducer operations much more elegantly:

;; Using Vanilla Clojure
(transduce
  (comp (map :a) (mapcat identity) (filter odd?))
  +
  [{:a [1 2]} {:a [3]} {:a [4 5]}])
;; => 9

;; The same logic expressed with Specter
(transduce
  (traverse-all [:a ALL odd?])
  +
  [{:a [1 2]} {:a [3]} {:a [4 5]}])

See the release notes and blog post for more details.



Release notes:

* Transform to `com.rpl.specter/NONE` to remove elements from data 
structures. Works with `keypath` (for both sequences and maps), `must`, 
`nthpath`, `ALL`, `MAP-VALS`, `FIRST`, and `LAST`
* Add `nthpath` navigator
* Add `with-fresh-collected` higher order navigator
* Added `traverse-all` which returns a transducer that traverses over all 
elements matching the given path.
* `select-first` and `select-any` now avoid traversal beyond the first 
value matched by the path (like when using `ALL`), so they are faster now 
for those use cases.
* Add `MAP-KEYS` navigator that's more efficient than `[ALL FIRST]`
* Add `NAME` and `NAMESPACE` navigators
* Extend `srange`, `BEGINNING`, `END` to work on strings. Navigates to a 
substring.
* Extend `FIRST` and `LAST` to work on strings. Navigates to a character.
* Add `BEFORE-ELEM` and `AFTER-ELEM` for prepending or appending a single 
element to a sequence
* Add `NONE-ELEM` to efficiently add a single element to a set
* Improved `ALL` performance for PersistentHashSet
* Dynamic navs automatically compile sequence returns if completely static
* Eliminate reflection warnings for clj (thanks @mpenet)
* Bug fix: Collected vals now properly passed to subpaths for `if-path`, 
`selected?`, and `not-selected?`
* Bug fix: `LAST`, `FIRST`, `BEGINNING`, and `END` properly transform 
subvector types to a vector type

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


[ANN] org.clojure/java.jdbc 0.7.0 Alpha 2

2017-03-01 Thread Sean Corfield
What?
Clojure Contrib wrapper for JDBC.

Changes?

Release 0.7.0-alpha2 on 2017-03-01

• pgsql and the Impossibl PostgresSQL 'NG' driver are now supported (note that 
:max-rows does not work with this driver!); also, providing unknown dbtype or 
subprotocol in a db-spec should now throw a better exception JDBC-150.
• quoted now accepts keywords for database / dialect (:ansi (including 
PostgresSQL), :mysql, :oracle, :sqlserver -- these match the keywords used in 
HoneySQL which is the recommended third party SQL DSL for java.jdbc) JDBC-149.
• Reorder get-connection clauses to make it easier to combine keys in a db-spec 
JDBC-148.
• Force load DriverManager before classForName call on drivers to avoid 
potential race condition on initialization JDBC-145.

Please see full change log for other changes since last “gold” release (0.6.0):

https://github.com/clojure/java.jdbc#change-log

Sean Corfield -- (904) 302-SEAN -- (970) FOR-SEAN
An Architect's View -- http://corfield.org/

"Perfection is the enemy of the good."
-- Gustave Flaubert, French realist novelist (1821-1880)




-- 
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: Making a Java class implement ILookup

2017-03-01 Thread William la Forge
Alternative implementations for clojure maps are hard. You tend to use AOT 
a lot, which is non-idiomatic. But a number of people have done this, 
including myself. In retrospect, it isn't worth it. At least not most of 
the time.

One thing that really bothers me is that Java supports subMap. And even 
clojure vectors have sub-vec. I've got a lot of code that builds on sub 
maps. But without reverting to aot, I need to define my own types which 
implement clojure's interfaces. A bit of a pain, but better than reverting 
to using aot methinks.

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