Re: [ANN] Grimoire 0.3.0

2014-08-01 Thread Bozhidar Batsov
On Saturday, August 2, 2014, Reid McKenzie  wrote:

> For those of you who didn't notice the ten minutes of 500 pages as I
> upgraded, I'm delighted to announce the Grimoire's 3rd release!
>
> This version would not have been possible without Robert Stuttaford, who
> was a huge help in porting Grimoire off of the original Jekyll back end
> to a real Ring server. Thanks also to Andy Fingerhut, thanks to whom
> Grimoire now incorporates the Thalia extended docstrings.
>
> So what's new?
>  - HTML and plain text API! see http://grimoire.arrdem.com/api for
> details.
>  - Extended & unofficial docstrings from Andy.
>  - Pervasive edit links. If it's templated, you can submit edits to it.
>  - Redesigned examples system which allows for even easier contribution.
>  - Changes to symbol munging which may have broken bookmarks.
>
> This release breaks the "cider-grimoire" command for symbols with
> punctuation and probably breaks some favorites as I took the opportunity
> to discard some symbol munging which was really a Jekyll workaround. In
> retrospect I shouldn't have mucked with that for backwards
> compatibility, but live and learn. Andyf's cheat sheet should be updated
> later today and the updated munge function should appear in next week's
> Cider 0.7.0.


Just a quick note. I actually updated cider-grimoire for 0.3 a few hours
before you released it, so everybody using the latest snapshot should be
fine.  I hope that we'll finally get to release CIDER 0.7 on Monday. I've
also implemented support for the text API (but haven't commited yet) which
should make it into the release.

>
> Comments and complaints are welcome here and on the bug tracker over at
> https://github.com/arrdem/grimoire/issues.
>
> Cheers!
> Reid
>
> --
> 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.
>

-- 
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] Grimoire 0.3.0

2014-08-01 Thread Reid McKenzie

On 08/01/2014 09:03 PM, Sean Corfield wrote:
> Ah, I hadn't looked at cross-clj before - that is super nice!

Yeah! I'm still very impressed by their coverage of the Clojure ecosystem.

> I only asked because clojuredocs.org did have a lot of the old contrib
> in there (with some examples etc) and wondered whether Grimoire might
> be a complete replacement... But I think you're right that there's
> just too much to cover with the way contrib is growing and evolving
> these days - and we have clojure-doc.org for more extensive,
> community-maintained documentation that provides guides to using
> contrib libraries etc. In addition, contrib libraries probably don't
> lend themselves to isolated examples the way the core Clojure
> namespaces do.

Definitely. I see Grimoire as an overgrown edition of Andyf's
cheatsheet. Even small example projects let alone long form tutorials
are totally out of scope and a much better fit for clojure-doc's article
format. Search and quick reference utility are going to to be my main
goals going forwards.

Reid

-- 
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] Grimoire 0.3.0

2014-08-01 Thread Sean Corfield
On Aug 1, 2014, at 5:40 PM, Reid McKenzie  wrote:
> It's something I've thought about and will probably continue to decline
> as a feature. cross-clj already does the easy half of that job:
> providing HTML documentation and does it at least as well as Grimoire
> does.

Ah, I hadn't looked at cross-clj before - that is super nice!

> Sure Grimoire could be extended to provide the same content, but I
> see the value of Grimoire in its examples and extended documentation of
> Core rather than in being a HTML render of the existing documentation.

Indeed. I only asked because clojuredocs.org did have a lot of the old contrib 
in there (with some examples etc) and wondered whether Grimoire might be a 
complete replacement... But I think you're right that there's just too much to 
cover with the way contrib is growing and evolving these days - and we have 
clojure-doc.org for more extensive, community-maintained documentation that 
provides guides to using contrib libraries etc. In addition, contrib libraries 
probably don't lend themselves to isolated examples the way the core Clojure 
namespaces do.

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

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





signature.asc
Description: Message signed with OpenPGP using GPGMail


Re: [ANN] Grimoire 0.3.0

2014-08-01 Thread Reid McKenzie
Hey Sean,

It's something I've thought about and will probably continue to decline
as a feature. cross-clj already does the easy half of that job:
providing HTML documentation and does it at least as well as Grimoire
does. Sure Grimoire could be extended to provide the same content, but I
see the value of Grimoire in its examples and extended documentation of
Core rather than in being a HTML render of the existing documentation.
As providing these things for contrib libraries is a significant
undertaking and there's already plenty to do in cleaning up the existing
Core docs I'm not likely to do it myself.

However I'm open to persuasion and PRs.
Reid

On 08/01/2014 06:47 PM, Sean Corfield wrote:
> This is very cool.
>
> Given the URL structure, have you given any thought to how contrib libraries 
> might be integrated into this in future?
>
> Sean
>
> On Aug 1, 2014, at 2:00 PM, Reid McKenzie  wrote:
>> For those of you who didn't notice the ten minutes of 500 pages as I
>> upgraded, I'm delighted to announce the Grimoire's 3rd release!
>>
>> This version would not have been possible without Robert Stuttaford, who
>> was a huge help in porting Grimoire off of the original Jekyll back end
>> to a real Ring server. Thanks also to Andy Fingerhut, thanks to whom
>> Grimoire now incorporates the Thalia extended docstrings.
>>
>> So what's new?
>> - HTML and plain text API! see http://grimoire.arrdem.com/api for details.
>> - Extended & unofficial docstrings from Andy.
>> - Pervasive edit links. If it's templated, you can submit edits to it.
>> - Redesigned examples system which allows for even easier contribution.
>> - Changes to symbol munging which may have broken bookmarks.
>>
>> This release breaks the "cider-grimoire" command for symbols with
>> punctuation and probably breaks some favorites as I took the opportunity
>> to discard some symbol munging which was really a Jekyll workaround. In
>> retrospect I shouldn't have mucked with that for backwards
>> compatibility, but live and learn. Andyf's cheat sheet should be updated
>> later today and the updated munge function should appear in next week's
>> Cider 0.7.0.
>>
>> Comments and complaints are welcome here and on the bug tracker over at
>> https://github.com/arrdem/grimoire/issues.
>>
>> Cheers!
>> Reid

-- 
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] Grimoire 0.3.0

2014-08-01 Thread Sean Corfield
This is very cool.

Given the URL structure, have you given any thought to how contrib libraries 
might be integrated into this in future?

Sean

On Aug 1, 2014, at 2:00 PM, Reid McKenzie  wrote:
> For those of you who didn't notice the ten minutes of 500 pages as I
> upgraded, I'm delighted to announce the Grimoire's 3rd release!
> 
> This version would not have been possible without Robert Stuttaford, who
> was a huge help in porting Grimoire off of the original Jekyll back end
> to a real Ring server. Thanks also to Andy Fingerhut, thanks to whom
> Grimoire now incorporates the Thalia extended docstrings.
> 
> So what's new?
> - HTML and plain text API! see http://grimoire.arrdem.com/api for details.
> - Extended & unofficial docstrings from Andy.
> - Pervasive edit links. If it's templated, you can submit edits to it.
> - Redesigned examples system which allows for even easier contribution.
> - Changes to symbol munging which may have broken bookmarks.
> 
> This release breaks the "cider-grimoire" command for symbols with
> punctuation and probably breaks some favorites as I took the opportunity
> to discard some symbol munging which was really a Jekyll workaround. In
> retrospect I shouldn't have mucked with that for backwards
> compatibility, but live and learn. Andyf's cheat sheet should be updated
> later today and the updated munge function should appear in next week's
> Cider 0.7.0.
> 
> Comments and complaints are welcome here and on the bug tracker over at
> https://github.com/arrdem/grimoire/issues.
> 
> Cheers!
> Reid



signature.asc
Description: Message signed with OpenPGP using GPGMail


Re: Don't understand inline vs extend-type implementation of defprotocol across namespaces

2014-08-01 Thread Sean Corfield
On Jul 31, 2014, at 7:19 PM, Flea Wong  wrote:
> (ns crecords.trec
>   (:require [crecords.tproc :refer [Fruit]]))

You'll need to :refer subtotal here as well:

(ns crecords.trec
  (:require [crecords.tproc :refer [Fruit]]))

Then this will work:

(defn f1 []
  (println "Banana Subtotal:" (subtotal (Banana. 2 

Note: Banana. not Banana 

I think it's more idiomatic to use ->RecordName rather than RecordName. BTW.

I can't answer your questions directly but here's what I understand is 
happening so maybe this will answer them indirectly:

defprotocol creates both the type and the top-level functions. Those top-level 
functions expect to call methods on their argument (I think) but those methods 
are defined elsewhere (in defrecord, extend-type, etc).

defrecord creates a class that has methods. I think that those methods can be 
resolved as function calls that give the impression you really have a top-level 
function.

extend-type provides implementations of methods that can be invoked on objects 
of the extended type.

(subtotal ..) is a regular function call - which for a record can be mapped to 
a method call automatically it seems - and (.subtotal ..) is a Java interop 
call invoking a method directly on an object.

Looking at what Vars are defined in each of your namespaces gives some insight 
into this:

user=> (require 'crecords.tproc)
nil
user=> (ns crecords.tproc)
nil
crecords.tproc=> (ns-publics *ns*)
{Fruit #'crecords.tproc/Fruit, map->Orange #'crecords.tproc/map->Orange, 
subtotal #'crecords.tproc/subtotal, -main #'crecords.tproc/-main, ->Orange 
#'crecords.tproc/->Orange}
crecords.tproc=> (require 'crecords.trec)
nil
crecords.tproc=> (ns crecords.trec)
nil
crecords.trec=> (ns-publics *ns*)
{f2 #'crecords.trec/f2, ->Apple #'crecords.trec/->Apple, ->Banana 
#'crecords.trec/->Banana, map->Banana #'crecords.trec/map->Banana, -main 
#'crecords.trec/-main, f1 #'crecords.trec/f1, map->Apple 
#'crecords.trec/map->Apple}

Hope that helps?

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

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





signature.asc
Description: Message signed with OpenPGP using GPGMail


[ANN] clojure.java.jdbc 0.3.5

2014-08-01 Thread Sean Corfield
Clojure wrapper for JDBC database access.

https://github.com/clojure/java.jdbc

• Release 0.3.5 on 2014-08-01

• Reflection warnings on executeUpdate addressed.
• HSQLDB and SQLite in-memory strings are now accepted JDBC-94.
• Add support for readonly transactions via :read-only? JDBC-93.

(should be up on Maven soon)

Thanks to Brian Craft for highlighting the performance hotspot due to 
reflection in the executeUpdate code!

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

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





signature.asc
Description: Message signed with OpenPGP using GPGMail


Re: Help Getting Sente to Work

2014-08-01 Thread Timothy Washington
Hey Daniel,

Yes, that's true. I've run into that, as I've gotten used to a lot of
gymnastics when setting up these tools, lol. So thanks for the heads up.
Those friendly reminders are needed :)


Tim Washington
Interruptsoftware.com 


On Thu, Jul 31, 2014 at 4:06 AM, Daniel Kersten  wrote:

> Hi Timothy, I just wanted to note that you can control the port Austin
> uses through environment variables. I do this so I can port forward, for
> example.
>
> This probably won't help you though, as httpkit and the browser repl can't
> run on the same port.
> On 30 Jul 2014 16:24, "Timothy Washington"  wrote:
>

-- 
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: ClojureScript 0.0-2280

2014-08-01 Thread David Nolen
ClojureScript, the Clojure compiler that emits JavaScript source code.

README and source code: https://github.com/clojure/clojurescript

New release version: 0.0-2280

Leiningen dependency information:

[org.clojure/clojurescript "0.0-2280"]

### Changes
* depend on latest org.clojure/google-closure-library

### Fixes
* fix constants table bug where keywords did not include precomputed hash-code

-- 
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: [ClojureScript] Re: ANN: Om 0.7.0

2014-08-01 Thread Daniel Kersten
That's awesome, thank you for the amazing work, David!

Are there any plans to merge the ind-components branch into master any time
soonish?


On 1 August 2014 21:29, David Nolen  wrote:

> Thanks for the correction, fixed!
>
> On Fri, Aug 1, 2014 at 4:26 PM, Rostislav Svoboda
>  wrote:
> > Thanx a lot guys!
> >
> >> The biggest change is depending on ClojureScript 0.0-2277 and
> >
> > BTW the "Using it" section of README.md still says 0.0-2173:
> >
> > (defproject foo "0.1.0"
> >   ...
> >   :dependencies [[org.clojure/clojure "1.5.1"]
> >  [org.clojure/clojurescript "0.0-2173"]
> >  [om "0.7.0"]]
> >   ...)
> >
> > --
> > 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.
>
> --
> Note that posts from new members are moderated - please be patient with
> your first post.
> ---
> You received this message because you are subscribed to the Google Groups
> "ClojureScript" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojurescript+unsubscr...@googlegroups.com.
> To post to this group, send email to clojurescr...@googlegroups.com.
> Visit this group at http://groups.google.com/group/clojurescript.
>

-- 
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: clojure + clojure-contrib offline documentation

2014-08-01 Thread Stuart Sierra
I think clojure.github.io is just the gh-pages of all the individual 
projects under github.com/clojure, so you should be able to grab the 
gh-pages of each one.

For example, https://github.com/clojure/tools.namespace/tree/gh-pages

The root index at clojure.github.io is just another repo at 
https://github.com/clojure/clojure.github.com

-S


On Friday, August 1, 2014 12:26:51 PM UTC-4, Andrea Richiardi wrote:
>
> I have noticed that gh-pages are no more in-sync with the latest 
> developments of the code, especially after clojure-contrib has been split 
> in separate repositories. I would like to ask if there is something similar 
> to:
>
> curl-L https://github.com/clojure/clojure/archive/gh-pages.tar.gz | tar 
> xvzf -
>
> but for clojure.github.io, which contains everything.
>
> Thank you very much!
>

-- 
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] Grimoire 0.3.0

2014-08-01 Thread Reid McKenzie
For those of you who didn't notice the ten minutes of 500 pages as I
upgraded, I'm delighted to announce the Grimoire's 3rd release!

This version would not have been possible without Robert Stuttaford, who
was a huge help in porting Grimoire off of the original Jekyll back end
to a real Ring server. Thanks also to Andy Fingerhut, thanks to whom
Grimoire now incorporates the Thalia extended docstrings.

So what's new?
 - HTML and plain text API! see http://grimoire.arrdem.com/api for details.
 - Extended & unofficial docstrings from Andy.
 - Pervasive edit links. If it's templated, you can submit edits to it.
 - Redesigned examples system which allows for even easier contribution.
 - Changes to symbol munging which may have broken bookmarks.

This release breaks the "cider-grimoire" command for symbols with
punctuation and probably breaks some favorites as I took the opportunity
to discard some symbol munging which was really a Jekyll workaround. In
retrospect I shouldn't have mucked with that for backwards
compatibility, but live and learn. Andyf's cheat sheet should be updated
later today and the updated munge function should appear in next week's
Cider 0.7.0.

Comments and complaints are welcome here and on the bug tracker over at
https://github.com/arrdem/grimoire/issues.

Cheers!
Reid

-- 
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: Om 0.7.0

2014-08-01 Thread David Nolen
Thanks for the correction, fixed!

On Fri, Aug 1, 2014 at 4:26 PM, Rostislav Svoboda
 wrote:
> Thanx a lot guys!
>
>> The biggest change is depending on ClojureScript 0.0-2277 and
>
> BTW the "Using it" section of README.md still says 0.0-2173:
>
> (defproject foo "0.1.0"
>   ...
>   :dependencies [[org.clojure/clojure "1.5.1"]
>  [org.clojure/clojurescript "0.0-2173"]
>  [om "0.7.0"]]
>   ...)
>
> --
> 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.

-- 
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: Om 0.7.0

2014-08-01 Thread Rostislav Svoboda
Thanx a lot guys!

> The biggest change is depending on ClojureScript 0.0-2277 and

BTW the "Using it" section of README.md still says 0.0-2173:

(defproject foo "0.1.0"
  ...
  :dependencies [[org.clojure/clojure "1.5.1"]
 [org.clojure/clojurescript "0.0-2173"]
 [om "0.7.0"]]
  ...)

-- 
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: Om 0.7.0

2014-08-01 Thread David Nolen
Oops forgot to mention the big enhancement - multimethods and
anonymous functions should now "Just Work(TM)" as component
constructors. There's no longer any need to hack - a unique React
class is automatically constructed for every Om component constructor
function.

David

On Fri, Aug 1, 2014 at 3:36 PM, David Nolen  wrote:
> I'm happy to announce Om 0.7.0. The biggest change is depending on
> ClojureScript 0.0-2277 and  React 0.11.1. There's a breaking change
> around the :ctor option to om.core/root which is now renamed
> :descriptor. Check the om.core/root docstring for more details.
>
> As it's been a long while between releases there may very well be
> subtle issues lurking about. Any and all feedback welcome!
>
> https://github.com/swannodette/om
>
> David

-- 
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: Om 0.7.0

2014-08-01 Thread David Nolen
I'm happy to announce Om 0.7.0. The biggest change is depending on
ClojureScript 0.0-2277 and  React 0.11.1. There's a breaking change
around the :ctor option to om.core/root which is now renamed
:descriptor. Check the om.core/root docstring for more details.

As it's been a long while between releases there may very well be
subtle issues lurking about. Any and all feedback welcome!

https://github.com/swannodette/om

David

-- 
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: Transposing a map and back again

2014-08-01 Thread Andy Fingerhut
clojure.set/map-invert is the closest I can think of in the functions
included with Clojure to your transpose function, but it does not handle
duplicate values the way your transpose does.

Andy


On Fri, Aug 1, 2014 at 11:16 AM, Bruno Kim Medeiros Cesar <
brunokim...@gmail.com> wrote:

> Is there a standard/library function to transpose a map from key-value to 
> value-keys?
>
> I've met this task many times before, and I'm sure others have too. Here is 
> the code I'm using, mildly highlighted by Google
> Groups. I used to copy-paste from Pygments.org 
> , but it seems to no longer work.
>
> (defn transpose
>   "Transposes a map of the form k_i -> v_i into v_j -> #{k_j1 k_j2 ...}"
>   [m]
>   (reduce (fn [acc [k v]]
> (assoc acc v
>   (conj (get acc v #{}) k)))
>   {} m))
>
> (transpose {:a 1 :b 1 :c 2 :d 4 :e 2 :f 1}) ;=> {4 #{:d}, 2 #{:c :e}, 1
> #{:a :b :f}}
>
> (defn inverse-transpose
>   "Transposes back a map of the form v_i -> #{k_i1 k_12 ...} into k_j ->
> v_j"
>   [m]
>   (into {} (mapcat (fn [[v ks]]
>  (map #(vector %1 %2) ks (repeat v)))
>m)))
>
> (inverse-transpose (transpose {:a 1 :b 1 :c 2 :d 4 :e 2 :f 1})) ;=> {:d 4,
> :c 2, :e 2, :a 1, :b 1, :f 1}
>
> (let [m {:a 1 :b 1 :c 2 :d 4 :e 2 :f 1}]
>   (= m (inverse-transpose (transpose m ;=> true
>
> --
> 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.
>

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


Transposing a map and back again

2014-08-01 Thread Bruno Kim Medeiros Cesar
 

Is there a standard/library function to transpose a map from key-value to 
value-keys?

I've met this task many times before, and I'm sure others have too. Here is the 
code I'm using, mildly highlighted by Google 
Groups. I used to copy-paste from Pygments.org 
, but it seems to no longer work.

(defn transpose
  "Transposes a map of the form k_i -> v_i into v_j -> #{k_j1 k_j2 ...}"
  [m]
  (reduce (fn [acc [k v]]
(assoc acc v 
  (conj (get acc v #{}) k)))
  {} m))

(transpose {:a 1 :b 1 :c 2 :d 4 :e 2 :f 1}) ;=> {4 #{:d}, 2 #{:c :e}, 1 
#{:a :b :f}}

(defn inverse-transpose
  "Transposes back a map of the form v_i -> #{k_i1 k_12 ...} into k_j -> 
v_j"
  [m]
  (into {} (mapcat (fn [[v ks]] 
 (map #(vector %1 %2) ks (repeat v))) 
   m)))

(inverse-transpose (transpose {:a 1 :b 1 :c 2 :d 4 :e 2 :f 1})) ;=> {:d 4, :c 
2, :e 2, :a 1, :b 1, :f 1}

(let [m {:a 1 :b 1 :c 2 :d 4 :e 2 :f 1}]
  (= m (inverse-transpose (transpose m ;=> true
 

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


honeysql tagged literal problem

2014-08-01 Thread Brian Craft
Trying to do a #sql/call with honeysql, like

[#sql/call [:unpackValue probe-field :row]]

where probe-field is a local variable, it builds a SqlCall object with 
symbol probe-field, instead of using the value in the probe-field variable.

I guess, then, that tagged literal handlers are passed symbols before 
they've been resolved? Is there a workaround for this?

-- 
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: Joplin -- flexible database migration and seeding

2014-08-01 Thread martintrojer


Available on Github; https://github.com/juxt/joplin

Joplin tries to solve the problems that arise when dealing with complicated 
systems consisting of multiple datastores. It lets you define and reason 
about environments (for instance dev, staging, UAT, prod).

Joplin lets you declare your databases, migrators, seed functions up front 
and combine them into different environments. It can be used via 
a leiningen plugin or be called programatically.

Joplin comes with plugins for SQL/JDBC databases, Datomic, ElasticSearch, 
Cassandra and Zookeeper. It is built with extensibility in mind, adding 
more stores is done by a handful of multi-methods.

Joplin is built on top of ragtime .

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


clojure + clojure-contrib offline documentation

2014-08-01 Thread Andrea Richiardi
I have noticed that gh-pages are no more in-sync with the latest 
developments of the code, especially after clojure-contrib has been split 
in separate repositories. I would like to ask if there is something similar 
to:

curl-L https://github.com/clojure/clojure/archive/gh-pages.tar.gz | tar 
xvzf -

but for clojure.github.io, which contains everything.

Thank you very much!

-- 
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: CLJS Function clobbering js function of same name

2014-08-01 Thread David Nolen
js/foo does not resolve to the global namespace.

David

On Thu, Jul 31, 2014 at 9:42 AM, Sam Ritchie  wrote:
> Hey guys,
>
> I ran into this last night when trying to port some ancient JS in our
> project over to cljs. I was defining an om component called
> "users-typeahead", and in the (did-mount ...) implementation calling a bare
> javascript function called js/users_typeahead. At the repl, the latter
> worked great; INSIDE the did-mount implementation, js/users_typeahead
> resolved to a reference to the enclosing function itself.
>
> My expectation was that, with Clojurescript's namespacing, js/func_name
> would always resolve to the top-level global namespace. Instead,
>
> Here's a minimal reproduction:
>
> (.log js/console "Hi!")
> ;; logs "Hi!"
>
> (defn console [s] (.log js/console s))
>
> (console "Hi!")
> ;; throws Compilation error: TypeError: undefined is not a function
>
> What do you think? Expected behavior, or just an edge case to avoid?
>
> --
> Sam Ritchie (@sritchie)
> Paddleguru Co-Founder
> 703.863.8561
> www.paddleguru.com
> Twitter // Facebook
>
> --
> 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.

-- 
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: Namespace browser for Emacs users

2014-08-01 Thread Phillip Lord

It's very nice, but it breaks for me because I have used
(set! *print-length* 200) in my repl-options. 

When this bit of code is run

(let* ((form "(sort (map name (keys (ns-publics (quote %s)")
   (vars (cider-eval-and-get-value (format form namespace

The last value of "vars" ends up as \.\.\. rather than a string.

Is this more of an issue with cider?

Phil


Bozhidar Batsov  writes:

> Nicely done! As you might know I'm cider's maintainer and I actually had a 
> namespace browser on the roadmap. :-) I'd like to invite you to transfer 
> the project to the official clojure-emacs github organisation (to increase 
> the package's visibility and to make easier for the cider team to help you 
> with the maintenance). 
>
> I hope to eventually include cider-browse-ns in the standard cider package.
>
> On Monday, July 28, 2014 5:48:20 AM UTC+3, John Andrews wrote:
>>
>> Emacs users: I have put together a namespace browser which builds upon the 
>> existing functionality of Cider. It is in early stages of development but I 
>> find it quite useful.
>>
>> Check it out! https://github.com/jxa/cider-browse-ns
>>  

-- 
Phillip Lord,   Phone: +44 (0) 191 222 7827
Lecturer in Bioinformatics, Email: phillip.l...@newcastle.ac.uk
School of Computing Science,
http://homepages.cs.ncl.ac.uk/phillip.lord
Room 914 Claremont Tower,   skype: russet_apples
Newcastle University,   twitter: phillord
NE1 7RU 

-- 
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: A few String functions we could implement in Clojure?

2014-08-01 Thread Paul Butcher
I recently hit exactly this question in a ClojureScript app I’m writing. It 
just so happens that Javascript provides a .indexOf method which is, as near as 
dammit, the same as the one provided by Java. So in this instance, portability 
isn’t an issue.

But having said that, I would still prefer to see this supported natively in 
Clojure, even if it’s just a wrapper around the interop. Using interop to do 
things that are as generic as simple string manipulation just feels messy.

--
paul.butcher->msgCount++

Silverstone, Brands Hatch, Donington Park...
Who says I have a one track mind?

http://www.paulbutcher.com/
LinkedIn: http://www.linkedin.com/in/paulbutcher
Skype: paulrabutcher

Author of Seven Concurrency Models in Seven Weeks: When Threads Unravel
http://pragprog.com/book/pb7con

On 19 July 2014 at 16:49:33, Andy Fingerhut (andy.finger...@gmail.com) wrote:

I would have to defer that question to someone who makes decisions regarding 
what goes into Clojure/ClojureScript, and what does not.

Of course, anyone else is free to create libraries that try to make portability 
between those two platforms easier.  Perhaps someone has already taken a go at 
creating such a thing?  I haven't used ClojureScript myself yet, so haven't 
looked for anything in that area.

Andy


On Sat, Jul 19, 2014 at 8:23 AM, Bruce Durling  wrote:
Andy,

How much of this reasoning do you think changes when we starting
thinking about being hosted on multiple platforms (I'm thinking
specifically clojure/clojurescript and cljx)?

cheers,
Bruce

On Sat, Jul 19, 2014 at 4:17 PM, Andy Fingerhut
 wrote:
> Pierre:
>
> I maintain the cheatsheet, and I put .indexOf and .lastIndexOf on there
> since they are probably the most common thing I saw asked about that is in
> the Java API but not the Clojure API, for strings.  There are also links to
> whole Java classes and their entire API, e.g. for file I/O, for which there
> is no Clojure equivalent, since file I/O is a common need.  Clojure is meant
> to be a hosted language, not hiding its host platform, but making it easily
> callable.
>
> If there are entire Java classes that meet very common needs that aren't
> mentioned on the cheatsheet, I would consider adding links to their
> documentation pages.  I don't want to fill up the cheatsheet with many
> individual Java methods, though.
>
> As for why there are not Clojure equivalents of particular Java API methods,
> I think the reasoning might be similar (it has likely been discussed
> publicly, but I don't have a link handy) -- don't create a large number of
> Clojure functions that do nothing more than what the equivalent Java APIs
> do.
>
> Andy
>
>
> On Sat, Jul 19, 2014 at 3:58 AM, Pierre Masci  wrote:
>>
>> Hi all, just nit picking about Clojure's String API.
>>
>> I've been comparing it with Java's, and I noticed that (not surprisingly)
>> they are very similar.
>> There are just 2-3 functions that exist in Java but don't have an
>> equivalent in Clojure. I was wondering if they could be worth adding to
>> clojure.string :
>>
>> (.indexOf s "c")   and   (.lastIndexOf "c")
>>
>> (.startsWith s "danc")   and   (.endsWith s "ing")
>>
>> (.charAt s 5)
>>     same as (get s 5) but expresses a clearer intent. It's less general
>> than (get) though as it only applies to Strings, so that might be
>> unnecessary sugar.
>>
>>
>>
>>
>> .indexOf and .lastIndexOf are indicated in the Clojure Cheatsheet, maybe
>> .startsWith and .endsWith also deserve to be mentioned there?
>>
>> I've been wondering why some functions have been ported, like (lower-case)
>> for (.toLowerCase), but not the ones mentioned above.
>>
>> I told you it was nit picking (^c^) Clojure's API is awesome as it is.
>>
>> --
>> 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.
>
>
> --
> 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 uns

Re: A few String functions we could implement in Clojure?

2014-08-01 Thread mascip
I have voted your issue up, and added a comment. Thanks for the link :-)

-- Pierre Masci


On 1 August 2014 11:16, Bozhidar Batsov  wrote:

> I recently raised a similar point regarding `starts-with?` and
> `ends-with?` (link - http://dev.clojure.org/jira/browse/CLJ-1449) and it
> seems that Clojure's team acknowledges that this is valid reasoning.
>
> I think you should open a ticket as well as the case you present is pretty
> much the same. With ClojureScript and cljx it makes much more sense now to
> create
> portable interfaces that it used to before (in the era of Java-only
> Clojure).
>
>
> On Saturday, July 19, 2014 6:56:44 PM UTC+3, Pierre Masci wrote:
>
>> Thank you for your insight Andy :-)
>>
>> Interesting question Bruce.
>>
>> -- Pierre Masci
>>
>>
>> On 19 July 2014 16:49, Andy Fingerhut  wrote:
>>
>>>  I would have to defer that question to someone who makes decisions
>>> regarding what goes into Clojure/ClojureScript, and what does not.
>>>
>>> Of course, anyone else is free to create libraries that try to make
>>> portability between those two platforms easier.  Perhaps someone has
>>> already taken a go at creating such a thing?  I haven't used ClojureScript
>>> myself yet, so haven't looked for anything in that area.
>>>
>>> Andy
>>>
>>>
>>> On Sat, Jul 19, 2014 at 8:23 AM, Bruce Durling  wrote:
>>>
 Andy,

 How much of this reasoning do you think changes when we starting
 thinking about being hosted on multiple platforms (I'm thinking
 specifically clojure/clojurescript and cljx)?

 cheers,
 Bruce

 On Sat, Jul 19, 2014 at 4:17 PM, Andy Fingerhut
  wrote:
 > Pierre:
 >
 > I maintain the cheatsheet, and I put .indexOf and .lastIndexOf on
 there
 > since they are probably the most common thing I saw asked about that
 is in
 > the Java API but not the Clojure API, for strings.  There are also
 links to
 > whole Java classes and their entire API, e.g. for file I/O, for which
 there
 > is no Clojure equivalent, since file I/O is a common need.  Clojure
 is meant
 > to be a hosted language, not hiding its host platform, but making it
 easily
 > callable.
 >
 > If there are entire Java classes that meet very common needs that
 aren't
 > mentioned on the cheatsheet, I would consider adding links to their
 > documentation pages.  I don't want to fill up the cheatsheet with many
 > individual Java methods, though.
 >
 > As for why there are not Clojure equivalents of particular Java API
 methods,
 > I think the reasoning might be similar (it has likely been discussed
 > publicly, but I don't have a link handy) -- don't create a large
 number of
 > Clojure functions that do nothing more than what the equivalent Java
 APIs
 > do.
 >
 > Andy
 >
 >
 > On Sat, Jul 19, 2014 at 3:58 AM, Pierre Masci 
 wrote:
 >>
 >> Hi all, just nit picking about Clojure's String API.
 >>
 >> I've been comparing it with Java's, and I noticed that (not
 surprisingly)
 >> they are very similar.
 >> There are just 2-3 functions that exist in Java but don't have an
 >> equivalent in Clojure. I was wondering if they could be worth adding
 to
 >> clojure.string :
 >>
 >> (.indexOf s "c")   and   (.lastIndexOf "c")
 >>
 >> (.startsWith s "danc")   and   (.endsWith s "ing")
 >>
 >> (.charAt s 5)
 >> same as (get s 5) but expresses a clearer intent. It's less
 general
 >> than (get) though as it only applies to Strings, so that might be
 >> unnecessary sugar.
 >>
 >>
 >>
 >>
 >> .indexOf and .lastIndexOf are indicated in the Clojure Cheatsheet,
 maybe
 >> .startsWith and .endsWith also deserve to be mentioned there?
 >>
 >> I've been wondering why some functions have been ported, like
 (lower-case)
 >> for (.toLowerCase), but not the ones mentioned above.
 >>
 >> I told you it was nit picking (^c^) Clojure's API is awesome as it
 is.
 >>
 >> --
 >> You received this message because you are subscribed to the Google
 >> Groups "Clojure" group.
 >> To post to this group, send email to clo...@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+u...@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+u...@googlegroups.com.

 >> For more options, visit https://groups.google.com/d/optout.
 >
 >
 > --
 > You received this me

Re: Don't understand inline vs extend-type implementation of defprotocol across namespaces

2014-08-01 Thread Flea Wong


On Friday, August 1, 2014 5:32:15 PM UTC+8, Tassilo Horn wrote:
>
> Flea Wong > writes: 
>
> Hi! 
>
> I'll take the third question first: 
>
> > 3.  Why the different function call "subtotal" (*without* Dot, see 
> > Apple) vs ".subtotal" (*with* Dot, see Orange) for extend-type vs 
> > inline implementation of Fruit? 
>
> You should always use (subtotal fruit).  That with an inline 
> implementation which is backed by some generated interface there is a 
> .subtotal method is a pure implementation detail you shouldn't rely on. 
> I.e., (.subtotal fruit) is no function call but a Java interop method 
> call. 


Ok. Guess it make sense.  But it seems rather inconsistent to me.
 

> > 1.  Why *doesn't* extend-type (see Banana) work when implementing 
> > protocol Fruit in a different namespace  


> It does work, but since Banana doesn't extend Fruit inline, the 
> corresponding Fruit interface has no .subtotal method, so you cannot 
> call it using (.subtotal banana) but (subtotal banana) will work. 
>
> I've tried  (subtotal (Banana 2)) - as you've suggested (without '.') i 
get compile error: Unable to resolve symbol: subtotal in this context.  So 
in it doesn't work.   I don't understand how you got it to work.  AFAIK, 
extend-type across ns does not work - with or without the '.'.  
 

> > 2.  Why *does* inline implementation (see Apple) work when 
> > implementing protocol Fruit in a different namespace 
>
> Calling (.subtotal apple) works, because it's implemented inline and so 
> the corresponding interface has that method and you can call it using 
> Java interop which (.subtotal apple) is.


Ok. 

>  


> Bye, 
> Tassilo 
>

-- 
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: A few String functions we could implement in Clojure?

2014-08-01 Thread Bozhidar Batsov
I recently raised a similar point regarding `starts-with?` and `ends-with?` 
(link - http://dev.clojure.org/jira/browse/CLJ-1449) and it seems that 
Clojure's team acknowledges that this is valid reasoning.

I think you should open a ticket as well as the case you present is pretty 
much the same. With ClojureScript and cljx it makes much more sense now to 
create
portable interfaces that it used to before (in the era of Java-only 
Clojure).

On Saturday, July 19, 2014 6:56:44 PM UTC+3, Pierre Masci wrote:
>
> Thank you for your insight Andy :-)
>
> Interesting question Bruce.
>
> -- Pierre Masci
>  
>
> On 19 July 2014 16:49, Andy Fingerhut > 
> wrote:
>
>> I would have to defer that question to someone who makes decisions 
>> regarding what goes into Clojure/ClojureScript, and what does not.
>>
>> Of course, anyone else is free to create libraries that try to make 
>> portability between those two platforms easier.  Perhaps someone has 
>> already taken a go at creating such a thing?  I haven't used ClojureScript 
>> myself yet, so haven't looked for anything in that area.
>>
>> Andy
>>
>>
>> On Sat, Jul 19, 2014 at 8:23 AM, Bruce Durling > > wrote:
>>
>>> Andy,
>>>
>>> How much of this reasoning do you think changes when we starting
>>> thinking about being hosted on multiple platforms (I'm thinking
>>> specifically clojure/clojurescript and cljx)?
>>>
>>> cheers,
>>> Bruce
>>>
>>> On Sat, Jul 19, 2014 at 4:17 PM, Andy Fingerhut
>>> > wrote:
>>> > Pierre:
>>> >
>>> > I maintain the cheatsheet, and I put .indexOf and .lastIndexOf on there
>>> > since they are probably the most common thing I saw asked about that 
>>> is in
>>> > the Java API but not the Clojure API, for strings.  There are also 
>>> links to
>>> > whole Java classes and their entire API, e.g. for file I/O, for which 
>>> there
>>> > is no Clojure equivalent, since file I/O is a common need.  Clojure is 
>>> meant
>>> > to be a hosted language, not hiding its host platform, but making it 
>>> easily
>>> > callable.
>>> >
>>> > If there are entire Java classes that meet very common needs that 
>>> aren't
>>> > mentioned on the cheatsheet, I would consider adding links to their
>>> > documentation pages.  I don't want to fill up the cheatsheet with many
>>> > individual Java methods, though.
>>> >
>>> > As for why there are not Clojure equivalents of particular Java API 
>>> methods,
>>> > I think the reasoning might be similar (it has likely been discussed
>>> > publicly, but I don't have a link handy) -- don't create a large 
>>> number of
>>> > Clojure functions that do nothing more than what the equivalent Java 
>>> APIs
>>> > do.
>>> >
>>> > Andy
>>> >
>>> >
>>> > On Sat, Jul 19, 2014 at 3:58 AM, Pierre Masci >> > wrote:
>>> >>
>>> >> Hi all, just nit picking about Clojure's String API.
>>> >>
>>> >> I've been comparing it with Java's, and I noticed that (not 
>>> surprisingly)
>>> >> they are very similar.
>>> >> There are just 2-3 functions that exist in Java but don't have an
>>> >> equivalent in Clojure. I was wondering if they could be worth adding 
>>> to
>>> >> clojure.string :
>>> >>
>>> >> (.indexOf s "c")   and   (.lastIndexOf "c")
>>> >>
>>> >> (.startsWith s "danc")   and   (.endsWith s "ing")
>>> >>
>>> >> (.charAt s 5)
>>> >> same as (get s 5) but expresses a clearer intent. It's less 
>>> general
>>> >> than (get) though as it only applies to Strings, so that might be
>>> >> unnecessary sugar.
>>> >>
>>> >>
>>> >>
>>> >>
>>> >> .indexOf and .lastIndexOf are indicated in the Clojure Cheatsheet, 
>>> maybe
>>> >> .startsWith and .endsWith also deserve to be mentioned there?
>>> >>
>>> >> I've been wondering why some functions have been ported, like 
>>> (lower-case)
>>> >> for (.toLowerCase), but not the ones mentioned above.
>>> >>
>>> >> I told you it was nit picking (^c^) Clojure's API is awesome as it is.
>>> >>
>>> >> --
>>> >> You received this message because you are subscribed to the Google
>>> >> Groups "Clojure" group.
>>> >> To post to this group, send email to clo...@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+u...@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+u...@googlegroups.com .
>>> >> For more options, visit https://groups.google.com/d/optout.
>>> >
>>> >
>>> > --
>>> > You received this message because you are subscribed to the Google
>>> > Groups "Clojure" group.
>>> > To post to this group, send email to clo...@googlegroups.com 
>>> 
>>> > Note that posts from new members are moderated - please be patient 
>>> with your
>>> > first post.
>>> > To unsub

Re: ANN: Namespace browser for Emacs users

2014-08-01 Thread Bozhidar Batsov
Nicely done! As you might know I'm cider's maintainer and I actually had a 
namespace browser on the roadmap. :-) I'd like to invite you to transfer 
the project to the official clojure-emacs github organisation (to increase 
the package's visibility and to make easier for the cider team to help you 
with the maintenance). 

I hope to eventually include cider-browse-ns in the standard cider package.

On Monday, July 28, 2014 5:48:20 AM UTC+3, John Andrews wrote:
>
> Emacs users: I have put together a namespace browser which builds upon the 
> existing functionality of Cider. It is in early stages of development but I 
> find it quite useful.
>
> Check it out! https://github.com/jxa/cider-browse-ns
>  

-- 
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: clojurescript introduction

2014-08-01 Thread Paweł Rozynek
thank u all for responses, very helpful
regards
PR

-- 
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: Don't understand inline vs extend-type implementation of defprotocol across namespaces

2014-08-01 Thread Tassilo Horn
Flea Wong  writes:

Hi!

I'll take the third question first:

> 3.  Why the different function call "subtotal" (*without* Dot, see
> Apple) vs ".subtotal" (*with* Dot, see Orange) for extend-type vs
> inline implementation of Fruit?

You should always use (subtotal fruit).  That with an inline
implementation which is backed by some generated interface there is a
.subtotal method is a pure implementation detail you shouldn't rely on.
I.e., (.subtotal fruit) is no function call but a Java interop method
call.

> 1.  Why *doesn't* extend-type (see Banana) work when implementing
> protocol Fruit in a different namespace

It does work, but since Banana doesn't extend Fruit inline, the
corresponding Fruit interface has no .subtotal method, so you cannot
call it using (.subtotal banana) but (subtotal banana) will work.

> 2.  Why *does* inline implementation (see Apple) work when
> implementing protocol Fruit in a different namespace

Calling (.subtotal apple) works, because it's implemented inline and so
the corresponding interface has that method and you can call it using
Java interop which (.subtotal apple) is.

Bye,
Tassilo

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