Re: Update

2014-04-29 Thread Divyansh Prakash
Why are Clojure features defined in terms of Java classes, instead of as 
bytecode primitives?
For eg: Cons is a class containing two objects: first and rest.
Is this only to achieve Java interoperability, or is there more to 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.


Re: Update

2014-04-29 Thread Andrew Chambers
Well, why write it in primitives when there is a perfectly good compiler 
from java to primitives? I dont quite understand why you think there would 
be benefit from manually writing everything with java bytecode. The JVM 
works with classes, thats how its designed, Clojure itself is just a java 
library.

On Tuesday, April 29, 2014 8:25:01 PM UTC+12, Divyansh Prakash wrote:

 Why are Clojure features defined in terms of Java classes, instead of as 
 bytecode primitives?
 For eg: Cons is a class containing two objects: first and rest.
 Is this only to achieve Java interoperability, or is there more to 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.


Re: Update

2014-04-29 Thread David Powell
The JVM is very class-oriented.  It is basically designed for Java, and
corresponds pretty much to the things you can do in Java.  Code belongs to
methods which belong to classes, and calls are made using java method
calling conventions.  Data has to be stored in primitives, arrays, or
objects; and arrays aren't particularly to-the-metal in Java anyway.

The Byte Code Verifier keeps what you do fairly simple - eg you can't just
leave things in the stack and jump to another method.

Even if you wanted to do anything a bit different, the performance of the
JVM all comes from the assumptions made while executing the bytecodes at
runtime.  If you did anything very weird, you'd probably find that these
optimizations didn't kick in.



On Tue, Apr 29, 2014 at 9:25 AM, Divyansh Prakash 
divyanshprakas...@gmail.com wrote:

 Why are Clojure features defined in terms of Java classes, instead of as
 bytecode primitives?
 For eg: Cons is a class containing two objects: first and rest.
 Is this only to achieve Java interoperability, or is there more to 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.


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


how to convert current time to format i need?

2014-04-29 Thread sindhu hosamane


 How to convert  the current date and time to the format i need ? for 
example i retrieve current time using (l/local-now) which outputs

#DateTime 2014-04-29T11:16:02.420+02:00

i want the above output to be converted to format dd:MM: HH:mm:ss

Should i define my own formatter like below (def custom-formatter 
(f/formatter dd:MM: HH:mm:ss))

But then how to convert it ? Any advice or help would be appreciated .!!


--  Sindhu



-- 
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: how to convert current time to format i need?

2014-04-29 Thread Sunil S Nandihalli
Hi ,
 I didn't verify if that particular formatter comes prepackaged ( I am
assuming you are using clj-time since it is not mentioned..) Once you have
created your custom formater all you have to do is unparse

(clj-time.formatter/unparse date-time-object custom formatter ) .
This is there in the readme.. may be you missed it.
Sunil.


On Tue, Apr 29, 2014 at 3:33 PM, sindhu hosamane sindh...@gmail.com wrote:

   How to convert  the current date and time to the format i need ? for
 example i retrieve current time using (l/local-now) which outputs

 #DateTime 2014-04-29T11:16:02.420+02:00

 i want the above output to be converted to format dd:MM: HH:mm:ss

 Should i define my own formatter like below (def custom-formatter
 (f/formatter dd:MM: HH:mm:ss))

 But then how to convert it ? Any advice or help would be appreciated .!!


 --  Sindhu



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


cursive plugin question

2014-04-29 Thread Roelof Wobben
Hello, 

I installed intelij with the cursive plugin.
Now I wonder if this can be done in some way.

Suppose I have a file with 3 functions.

Can I send one to REPL so I can test if it works as I expected. 

Roelof

-- 
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: cursive plugin question

2014-04-29 Thread Colin Fleming
Hi Roelof,

I saw your message on the Cursive mailing list, I've replied over there.

Cheers,
Colin


On 29 April 2014 23:04, Roelof Wobben rwob...@hotmail.com wrote:

 Hello,

 I installed intelij with the cursive plugin.
 Now I wonder if this can be done in some way.

 Suppose I have a file with 3 functions.

 Can I send one to REPL so I can test if it works as I expected.

 Roelof

  --
 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: core.logic with functions

2014-04-29 Thread Phillip Lord

It was! Thank you very much.

Phil


Jean Niklas L'orange jeann...@hypirion.com writes:
 If you want to say the goal g(x) shall succeed, for all x in this list, 
 then use `everyg` from clojure.core.logic instead of map. I think it is 
 exactly what you're looking for.

 On Monday, April 28, 2014 3:36:10 PM UTC+2, Phillip Lord wrote:



 I can do this with core.logic (yes, I know that match-list isn't doing 
 anything much here) 

 (defn match-list [member list] 
   (membero member list)) 


 (run* [q] 
   (match-list 10 [1 10 100]) 
   (== q worked)) 

 For q to come back with any values then 10 has to be part of the list [1 
 10 100]. 

 I want to do the same thing where the second argument is a list of 
 lists. So something like: 

 (defn match-lists [member lists] 
   (map 
(fn [l] (membero member l)) 
lists)) 

 (run* [q] 
   (match-lists 10 
[[1 10 100] 
 [1 10 100]]) 
   (== q worked)) 

 which should also return worked. The point is that I don't know how 
 many membero forms I need at compile time, only at runtime. My initial 
 attempt above fails. 

 java.lang.ClassCastException: clojure.lang.LazySeq cannot be cast to 
 clojure.lang.IFn 
  at clojure.core.logic.Substitutions.bind (logic.clj:410) 
 logic_expts.what_i_want$eval7021$fn__7022$fn__7023$_inc__7024.invoke 
 (form-init238773086654203315.clj:2) 
 clojure.core.logic$eval5780$fn__5781$fn__5782.invoke 
 (logic.clj:1109) 


 Is there a way to do this with functions -- or do I need to macro it? 

 Phil 

-- 
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: how to convert current time to format i need?

2014-04-29 Thread sindhu hosamane

Ya i am using cji-time. Found a way .

(def multi-parser (f/formatter (t/default-time-zone)  dd:MM: 
HH:mm:ss -MM-dd HH:mm:ss))

(def currenttimestamp

   (f/unparse multi-parser (f/parse multi-parser  (l/format-local-time (
l/local-now)  :mysql))) )

   (def custom-formatter (f/formatter dd:MM: HH:mm:ss))

   (def subtractedtime

(l/format-local-time  (t/minus  (f/parse custom-formatter 
currenttimestamp) (t/months 60) ):mysql))

   (def required-timestamp (f/unparse multi-parser (f/parse multi-parser 
subtractedtime)))

   

I retrieved currenttimestamp in format i need and then subtracted 5 years 
(60 months)  to get the required-timestamp.This above code snippet works . 
But i know there is a redundancy in my code bcoz multi-parser and 
custom-formatter are intended to do same thing .Not sure how to optimise 
the above code.


Thanks.

-- 
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: multiple browsers, live.js - repl

2014-04-29 Thread Timothy Washington
Hey,

I haven't tried live.js. But these tools might be of interest.

   - Austin https://github.com/cemerick/austin/ has the ability to *Multiple
   concurrent browser-REPLs can be safely used from the same project*
   (though I haven't yet tried this feature).
https://github.com/cemerick/austin/
   - Also, perhaps less applicable,
Sentehttps://github.com/ptaoussanis/sentegives *users
   connected with multiple clients and/or devices simultaneously*.


Hth

Tim Washington
Interruptsoftware.com http://interruptsoftware.com


On Tue, Apr 15, 2014 at 10:54 PM, t x txrev...@gmail.com wrote:

 Hi,

   Okay. I think I have finally reached the limits of live.js, and now
 want an interactive browser repl + being able to push portions of code
 (rather than reloading the entire page).

   I have a simple question though:

   * I'm developing a _distribued_ app

   * So I can't test it unless I have 2+ browsers running.

   * With brepl, when I modify my *.cljs files, is it possible to push
 the changes to _two_ browsers simultaneojsly?

 Thanks!

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


Clojure for web project? Talk me into it!

2014-04-29 Thread Bernhard Mäder
Hey guys,

I need your help in choosing a web stack for a medium sized website 
project, which is going to take the better half of my time for the next 
year. I really want to use clojure, because of various reasons, but have 
never done web development with it before. Frankly, it’s quite hard to feel 
confident about such a decision, as there are so many libraries to choose 
from, many of which seem to be abandoned or with very little (public) 
momentum.

These are the notable features I need on the server side:

   - Internationalization of content, with multilingual URLs
   - Authentication through username / password and through xing (oauth) 
   and linkedin (oath2).
   - Image and PDF upload
   - A small (and pretty basic) CMS
   - Beautiful reports renderings
   - A basic admin backend 

First, I was thinking along the compojure/hiccup/friend stack. I like it 
for the simplicity, the flexibility and the abundance of documentation on 
the web. Unfortunately, I see myself reinventing the wheel a few times with 
this approach…

Then there is caribou. I like that it’s very well documented and that it’s 
already being used in production. It appears to be the most feature 
complete solution for the time being. It handles images, has backend 
scaffolding and i18n. OTOH, authentication isn’t really built-in (other 
than basic auth, if I got that right) and, it’s very new, so adoption seems 
to be still low. Also, it is developed in-house, so there’s the risk of 
abandonment, too.

Finally, I took a look at pedestal (services). I like its overall design 
and I especially welcome the URL generator, which is going to be a boon in 
larger projects. But all in all, it seems to be little more than a 
(powerful) routing engine (again, maybe I’m missing something) and lacks 
internationalization as well as authentication (although I read that the 
snapshot version of friend will work with it). Also, it is developed 
in-house and not declared production-ready yet. 

I don’t feel very comfortable with either choice and would appreciate the 
thoughts of seasoned clojure web devs on that topic. Please talk me into 
it! I don’t want to end up with scala and play… :-)

Thanks for your thought!
Bernhard

-- 
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 for web project? Talk me into it!

2014-04-29 Thread Andrey Antukh
Hi

2014-04-29 10:22 GMT+02:00 Bernhard Mäder bernhard.mae...@gmail.com:

 Hey guys,

 I need your help in choosing a web stack for a medium sized website
 project, which is going to take the better half of my time for the next
 year. I really want to use clojure, because of various reasons, but have
 never done web development with it before. Frankly, it’s quite hard to feel
 confident about such a decision, as there are so many libraries to choose
 from, many of which seem to be abandoned or with very little (public)
 momentum.

 These are the notable features I need on the server side:

- Internationalization of content, with multilingual URLs
- Authentication through username / password and through xing (oauth)
and linkedin (oath2).
- Image and PDF upload
- A small (and pretty basic) CMS
- Beautiful reports renderings
- A basic admin backend

 First, I was thinking along the compojure/hiccup/friend stack. I like it
 for the simplicity, the flexibility and the abundance of documentation on
 the web. Unfortunately, I see myself reinventing the wheel a few times with
 this approach…


 Then there is caribou. I like that it’s very well documented and that it’s
 already being used in production. It appears to be the most feature
 complete solution for the time being. It handles images, has backend
 scaffolding and i18n. OTOH, authentication isn’t really built-in (other
 than basic auth, if I got that right) and, it’s very new, so adoption seems
 to be still low. Also, it is developed in-house, so there’s the risk of
 abandonment, too.


 Finally, I took a look at pedestal (services). I like its overall design
 and I especially welcome the URL generator, which is going to be a boon in
 larger projects. But all in all, it seems to be little more than a
 (powerful) routing engine (again, maybe I’m missing something) and lacks
 internationalization as well as authentication (although I read that the
 snapshot version of friend will work with it). Also, it is developed
 in-house and not declared production-ready yet.

 I don’t feel very comfortable with either choice and would appreciate the
 thoughts of seasoned clojure web devs on that topic. Please talk me into
 it! I don’t want to end up with scala and play… :-)


For authentication and authorization I'm using buddy (
http://niwibe.github.io/buddy/) what has slightly different approach that
friend,
Liberator for backend code and angularjs for frontend. It works very well
for my purposes.

For your purposes the best choice is my opinion is caribou with some
external lib for authentication like buddy or friend.
Sorry for not being much help.


 Thanks for your thought!
 Bernhard



Greetings.
Andrey

-- 
Andrey Antukh - Андрей Антух - andrei.anto...@kaleidos.net / n...@niwi.be

http://www.niwi.be http://www.niwi.be/page/about/
https://github.com/niwibe

-- 
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 for web project? Talk me into it!

2014-04-29 Thread Timothy Baldridge
One of the biggest value propositions of Pedestal has always been that it's
the only Clojure web server library to support end-to-end async operations.
You can do things like have a handler return a core.async channel, or
pause/resume the entire web stack multiple times during a single request.
Other libraries may support async or streaming responses, but none allow
that level of control, so if you need that feature Pedestal is there.

Pedestal's routing stack is also data based, that's a pretty big deal if
you're used to debugging nested ring handlers that are instances of
functions. Data over code...that's the way I like it.

But yes, as a whole the entire Clojure ecosystem is built around small
composable libraries instead of a monolithic framework. Pick and choose and
build your own stack.

Timothy


On Tue, Apr 29, 2014 at 2:22 AM, Bernhard Mäder
bernhard.mae...@gmail.comwrote:

 Hey guys,

 I need your help in choosing a web stack for a medium sized website
 project, which is going to take the better half of my time for the next
 year. I really want to use clojure, because of various reasons, but have
 never done web development with it before. Frankly, it’s quite hard to feel
 confident about such a decision, as there are so many libraries to choose
 from, many of which seem to be abandoned or with very little (public)
 momentum.

 These are the notable features I need on the server side:

- Internationalization of content, with multilingual URLs
- Authentication through username / password and through xing (oauth)
and linkedin (oath2).
- Image and PDF upload
- A small (and pretty basic) CMS
- Beautiful reports renderings
- A basic admin backend

 First, I was thinking along the compojure/hiccup/friend stack. I like it
 for the simplicity, the flexibility and the abundance of documentation on
 the web. Unfortunately, I see myself reinventing the wheel a few times with
 this approach…

 Then there is caribou. I like that it’s very well documented and that it’s
 already being used in production. It appears to be the most feature
 complete solution for the time being. It handles images, has backend
 scaffolding and i18n. OTOH, authentication isn’t really built-in (other
 than basic auth, if I got that right) and, it’s very new, so adoption seems
 to be still low. Also, it is developed in-house, so there’s the risk of
 abandonment, too.

 Finally, I took a look at pedestal (services). I like its overall design
 and I especially welcome the URL generator, which is going to be a boon in
 larger projects. But all in all, it seems to be little more than a
 (powerful) routing engine (again, maybe I’m missing something) and lacks
 internationalization as well as authentication (although I read that the
 snapshot version of friend will work with it). Also, it is developed
 in-house and not declared production-ready yet.

 I don’t feel very comfortable with either choice and would appreciate the
 thoughts of seasoned clojure web devs on that topic. Please talk me into
 it! I don’t want to end up with scala and play… :-)

 Thanks for your thought!
 Bernhard

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




-- 
“One of the main causes of the fall of the Roman Empire was that–lacking
zero–they had no way to indicate successful termination of their C
programs.”
(Robert Firth)

-- 
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: Update

2014-04-29 Thread Divyansh Prakash
Thank you for the explanation.
What if I target a non-OO-centric VM (like Parrot or LLVM)?

I've noticed that most Lisp implementations define lambda calculus 
primitives, and then use those as the core.
I wonder what would be if we had bytecode primitives, and defined 
everything else on top of that. 
I don't know to what end, this is just an exercise.

Do you know if this has been done before?

-- 
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: Update

2014-04-29 Thread Divyansh Prakash
I looked into a port of Clojure to Parrot, and it basically does the same 
thinghttps://github.com/ayardley/ClojurePVM/blob/master/src/c/lisp/microlisp/lisp.c
.

-- 
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: Update

2014-04-29 Thread Divyansh Prakash
Why not emit bytecode directly from the language?
Couldn't this potentially lead to tons of specialized optimizing macros? 

-- 
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: Update

2014-04-29 Thread Gary Trakhman
The hard part with other runtimes will be details around things like
garbage collection for the implementation of persistent data structures.

Clojurescript is a better example of how this is done since most of the
impls are implemented in the language itself, different from
clojure-proper.

Granted, printed-text compiler output sucks, but it all seems to work.

Here's the javascript emission stage:
https://github.com/clojure/clojurescript/blob/master/src/clj/cljs/compiler.clj#L206

It's been ported to gambit-scheme:
https://github.com/takeoutweight/clojure-scheme/blob/rewrite/src/clj/cljscm/compiler.clj



On Tue, Apr 29, 2014 at 10:45 AM, Divyansh Prakash 
divyanshprakas...@gmail.com wrote:

 I looked into a port of Clojure to Parrot, and it basically does the same
 thinghttps://github.com/ayardley/ClojurePVM/blob/master/src/c/lisp/microlisp/lisp.c
 .

 --
 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: core.async and Joy of Clojure

2014-04-29 Thread gamma235
Thank you Timothy, 

I did watch that talk! In fact, it was one of the videos that really piqued 
my enthusiasm in core.async. I had no idea that the code was available on 
github. Good news. I am thinking now about how I could use core.async to do 
useful/fun things: web-service or browser game, simulation, etc. It will be 
exciting to see how things develop in the next couple of years. Do you 
think you might put out a book about some of the stuff you've been working 
on? 

Jesse

On Tuesday, April 29, 2014 12:23:14 AM UTC+9, tbc++ wrote:

 I'm not sure if you have watched it yet, but my Clojure/Conj talk includes 
 quite a few examples: https://www.youtube.com/watch?v=enwIIGzhahw

 The code from all the examples is available here: 
 https://github.com/halgari/clojure-conj-2013-core.async-examples

 Timothy


 On Mon, Apr 28, 2014 at 8:42 AM, gamma235 jesus.d...@gmail.comjavascript:
  wrote:


 Hey guys,

 I have studied the sample code snippets on the github page, read through 
 several tutorials and watched many talks on core.async, but am still unable 
 to effectively implement this library in my programs. I am trying to level 
 up here with this subject, but feel like the existing documentation is kind 
 of lacking in the middle. Are there any good resources out there that can 
 bridge the gap between code snippets and show how the concepts of this 
 library pertain to system design? I heard that Joy of Clojure would be 
 adding a lot in the 2nd edition, including a section on core.logic; is 
 core.async also on that list? 

 J

 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@googlegroups.comjavascript:
 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 javascript:
 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 javascript:.
 For more options, visit https://groups.google.com/d/optout.




 -- 
 “One of the main causes of the fall of the Roman Empire was that–lacking 
 zero–they had no way to indicate successful termination of their C 
 programs.”
 (Robert Firth) 


-- 
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 for web project? Talk me into it!

2014-04-29 Thread Bernhard Mäder
On Tuesday, April 29, 2014 3:25:45 PM UTC+2, Andrey Antukh wrote:

 For authentication and authorization I'm using buddy (
 http://niwibe.github.io/buddy/) what has slightly different approach that 
 friend,
 Liberator for backend code and angularjs for frontend. It works very well 
 for my purposes. 

 For your purposes the best choice is my opinion is caribou with some 
 external lib for authentication like buddy or friend.
 Sorry for not being much help.


Ah nice, I didn't know about buddy. I will take a good look at it. Thanks 
for pointing it out!

Bernhard

-- 
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: core.async and Joy of Clojure

2014-04-29 Thread gamma235

Thanks for the recommendation. This book looks awesome. Why haven't I heard 
of it?! 

Jesse


On Tuesday, April 29, 2014 12:16:20 AM UTC+9, Alex Ott wrote:

 The Seven Concurrency Models in Seven Weeks: When Threads Unravel (
 http://pragprog.com/book/pb7con/seven-concurrency-models-in-seven-weeks) 
 has the description of the core.async in the CSP chapter...


 On Mon, Apr 28, 2014 at 4:42 PM, gamma235 jesus.d...@gmail.comjavascript:
  wrote:


 Hey guys,

 I have studied the sample code snippets on the github page, read through 
 several tutorials and watched many talks on core.async, but am still unable 
 to effectively implement this library in my programs. I am trying to level 
 up here with this subject, but feel like the existing documentation is kind 
 of lacking in the middle. Are there any good resources out there that can 
 bridge the gap between code snippets and show how the concepts of this 
 library pertain to system design? I heard that Joy of Clojure would be 
 adding a lot in the 2nd edition, including a section on core.logic; is 
 core.async also on that list? 

 J

 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clo...@googlegroups.comjavascript:
 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 javascript:
 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 javascript:.
 For more options, visit https://groups.google.com/d/optout.




 -- 
 With best wishes,Alex Ott
 http://alexott.net/
 Twitter: alexott_en (English), alexott (Russian)
 Skype: alex.ott 


-- 
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 for web project? Talk me into it!

2014-04-29 Thread Bernhard Mäder

On Tuesday, April 29, 2014 3:29:26 PM UTC+2, tbc++ wrote:

 One of the biggest value propositions of Pedestal has always been that 
 it's the only Clojure web server library to support end-to-end async 
 operations. You can do things like have a handler return a core.async 
 channel, or pause/resume the entire web stack multiple times during a 
 single request. Other libraries may support async or streaming responses, 
 but none allow that level of control, so if you need that feature Pedestal 
 is there. 


Yes, it's a really cool feature. Unfortunately, I'm not going to need it! 
:-)
 

   
 Pedestal's routing stack is also data based, that's a pretty big deal if 
 you're used to debugging nested ring handlers that are instances of 
 functions. Data over code...that's the way I like it. 


Yeah, that's what I thought as well. I also like that aproach much better.
 


 But yes, as a whole the entire Clojure ecosystem is built around small 
 composable libraries instead of a monolithic framework. Pick and choose and 
 build your own stack.


That's what I'm trying to right now Did you use pedestal in a 
productive environment?

Thanks,
Bernhard 

-- 
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 for web project? Talk me into it!

2014-04-29 Thread Mike Haney
Pedestal was developed by Cognitect and I would assume they use it on many of 
their consulting projects.  Since future support appears be a major concern for 
you (rightly so), Pedestal probably fulfills that requirement better than 
anything else out there right now.  Even if you don't need all the features it 
offers, it's worth considering building your server-side stack around it for 
that reason alone.

-- 
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: Update

2014-04-29 Thread Divyansh Prakash
Check out my previous reply. The parrot vm provides gc and everything, But 
still the author defines lambda primitives in c, and then builds over 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.


[ANN] Tawny-OWL 1.1.0

2014-04-29 Thread Phillip Lord


I am please to announce the second full release of Tawny-OWL, my library for
fully programmatic development of OWL ontologies. The library now has a fairly
large feature set:

** Complete support for OWL2
** Integrated support for reasoning with HermiT or ELK
** Profile checking
** Fixtures and support macros for unit testing
** Use of external ontologies available only as OWL files
** Rendering of OWL API objects to Tawny code.
** Support for generating and using ontologies with numeric IDs.
** Support for multilingual labels.
** Protege Integration

Changes for 1.1.0:

 - Added a variety of new methods, including a newer syntax for individuals.
 - Type-hints have been added to all namespaces, which gives 2x or 5x
   speedups, depending on the namespace.

Breaking Changes:

This includes a number of small breaking changes, and deprecation of :subclass
and :subproperty frames.

Full details release documentation:

https://github.com/phillord/tawny-owl/blob/master/docs/releases.md

The library is now available from
Clojars (https://clojars.org/uk.org.russet/tawny-owl) or on
github (https://github.com/phillord/tawny-owl). Latest blogposts:
http://www.russet.org.uk/blog/category/all/professional/tech/tawny-owl

Feedback is welcome at tawny-...@googlegroups.com.

-- 
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: multiple browsers, live.js - repl

2014-04-29 Thread Gary Trakhman
It's possible, if 'possible' includes the possibility of writing some
extensions to austin to eval across multiple sessions :-).


On Tue, Apr 29, 2014 at 8:43 AM, Timothy Washington twash...@gmail.comwrote:

 Hey,

 I haven't tried live.js. But these tools might be of interest.

- Austin https://github.com/cemerick/austin/ has the ability to 
 *Multiple
concurrent browser-REPLs can be safely used from the same project*
(though I haven't yet tried this feature).
 https://github.com/cemerick/austin/
- Also, perhaps less applicable, 
 Sentehttps://github.com/ptaoussanis/sentegives *users
connected with multiple clients and/or devices simultaneously*.


 Hth

 Tim Washington
 Interruptsoftware.com http://interruptsoftware.com


 On Tue, Apr 15, 2014 at 10:54 PM, t x txrev...@gmail.com wrote:

 Hi,

   Okay. I think I have finally reached the limits of live.js, and now
 want an interactive browser repl + being able to push portions of code
 (rather than reloading the entire page).

   I have a simple question though:

   * I'm developing a _distribued_ app

   * So I can't test it unless I have 2+ browsers running.

   * With brepl, when I modify my *.cljs files, is it possible to push
 the changes to _two_ browsers simultaneojsly?

 Thanks!

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


-- 
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] nginx-clojure v0.2.0 -- Let MySQL JDBC Driver Apache HttpClient Fly With Epoll/Kqueue on Nginx

2014-04-29 Thread Rick Richardson
This is excellent!  I definitely think there is a lot of opportunity for 
fusion between Clojure and Nginx.  Clojure's model already supports the 
cooperating threads model that can simplify Nginx's complex event model, as 
you have demonstrated.  Work has already been done that proves this idea 
can result in productivity and scale gains (nginx + Lua)  It can also 
greatly simplify architectures by cutting out load-balancers making less to 
patch for security/stability issues.   I look forward to using this on my 
upcoming web projects. 


On Friday, April 25, 2014 11:51:41 PM UTC-4, Xfeep Zhang wrote:

 nginx-clojure v0.2.0 includes new features:


1. non-blocking socket based on coroutine and compatible with largely 
existing java library such as apache http client, mysql jdbc drivers
2. asynchronous callback API of socket for some advanced usage
3. run initialization clojure code when nginx worker starting
4. provide a build-in tool to make setting of coroutine based socket 
easier
5. support Linux 32bit x86 now
6. publish [binary release compiled with lastes stable nginx 1.6.0](
https://sourceforge.net/projects/nginx-clojure/files/) about Linux 
x64, Linux i586, Win32  MacOS X.


 If the http service should do some slow I/O operations such as access 
 external http service, database, etc.  nginx worker will be blocked by 
 those operations 
 and the new  user  request even static file request will be blocked. It 
 really sucks! Before v0.2.0 the only choice is using thread pool but now we 
 have 
 three choice  Now:

1. Coroutine based Socket -- Let MySQL JDBC Driver  Apache HttpClient 
Fly With Epoll/Kqueue on  Nginx
- Java Socket API Compatible and work well with largely existing java 
   library such as apache http client, mysql jdbc drivers etc.
   - non-blocking, cheap, fast and let one java main thread be able to 
   handle thousands of connections.
   - Your old code **_need not be changed_** and those plain and old 
   java socket based code such as Apache Http Client, MySQL mysql jdbc 
 drivers 
   etc. will be on the fly with epoll/kqueue on Linux/BSD!
   - You must do some steps to get the right class waving 
   configuration file and set it in the nginx conf file.
2. Asynchronous Socket
   - More details here: https://github.com/nginx-clojure/nginx-clojure
   3. Thread Pool
- More details here : https://github.com/nginx-clojure/nginx-clojure
   

 More details please visit nginx-clojure github site : 
 https://github.com/nginx-clojure/nginx-clojure


-- 
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 for web project? Talk me into it!

2014-04-29 Thread Daniel Jomphe
Not to make it more complicated for you, but have you looked at Hoplon too?

http://hoplon.io/

I was *very* impressed by the author's presentations, the later of which 
is https://www.youtube.com/watch?v=wVXjExRiFy0
And podcast about 
it: http://thinkrelevance.com/blog/2014/03/18/alan-dipert-cognicast-episode-052

It's optimized around single-page web apps.

I'm not saying that's what I'd necessarily use for your product; you may 
want to use all of it, or parts of it (it's modular) along something else.

If this kind of approach isn't what you'd use on your front-end, make sure 
you look at Om, Reagent and Quiescent for that.

And obviously, I'm forgetting a few other batteries-included frameworks 
I've seen (because there are a few, apart from Caribou).

On Tuesday, April 29, 2014 4:22:58 AM UTC-4, Bernhard Mäder wrote:

 Hey guys,

 I need your help in choosing a web stack for a medium sized website 
 project, which is going to take the better half of my time for the next 
 year. I really want to use clojure, because of various reasons, but have 
 never done web development with it before. Frankly, it’s quite hard to feel 
 confident about such a decision, as there are so many libraries to choose 
 from, many of which seem to be abandoned or with very little (public) 
 momentum.

 These are the notable features I need on the server side:

- Internationalization of content, with multilingual URLs
- Authentication through username / password and through xing (oauth) 
and linkedin (oath2).
- Image and PDF upload
- A small (and pretty basic) CMS
- Beautiful reports renderings
- A basic admin backend 

 First, I was thinking along the compojure/hiccup/friend stack. I like it 
 for the simplicity, the flexibility and the abundance of documentation on 
 the web. Unfortunately, I see myself reinventing the wheel a few times with 
 this approach…

 Then there is caribou. I like that it’s very well documented and that it’s 
 already being used in production. It appears to be the most feature 
 complete solution for the time being. It handles images, has backend 
 scaffolding and i18n. OTOH, authentication isn’t really built-in (other 
 than basic auth, if I got that right) and, it’s very new, so adoption seems 
 to be still low. Also, it is developed in-house, so there’s the risk of 
 abandonment, too.

 Finally, I took a look at pedestal (services). I like its overall design 
 and I especially welcome the URL generator, which is going to be a boon in 
 larger projects. But all in all, it seems to be little more than a 
 (powerful) routing engine (again, maybe I’m missing something) and lacks 
 internationalization as well as authentication (although I read that the 
 snapshot version of friend will work with it). Also, it is developed 
 in-house and not declared production-ready yet. 

 I don’t feel very comfortable with either choice and would appreciate the 
 thoughts of seasoned clojure web devs on that topic. Please talk me into 
 it! I don’t want to end up with scala and play… :-)

 Thanks for your thought!
 Bernhard



-- 
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 Meltdown 1.0 is released

2014-04-29 Thread Michael Klishin
Meltdown is a Clojure interface to Reactor, an asynchronous
programming, event passing and stream processing toolkit for the JVM.

After several alphas and a dozen of betas, Meltdown is
ready to go 1.0. If you're not sure what Meltdown is about, see
the intro post:
http://blog.clojurewerkz.org/blog/2013/09/04/introducing-meltdown/

Release notes:
http://blog.clojurewerkz.org/blog/2014/04/29/meltdown-1-dot-0-0-is-released/

Documentation:
https://github.com/clojurewerkz/meltdown#documentation

1. https://github.com/clojurewerkz/meltdown
-- 
MK

http://github.com/michaelklishin
http://twitter.com/michaelklishin

-- 
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] CongoMongo 0.4.4 (minor release)

2014-04-29 Thread Sean Corfield
What?

Clojure wrapper for MongoDB Java driver

Where?

https://github.com/aboekhoff/congomongo

News?

The only change from 0.4.3 is updating the Java driver to 2.12.1.
MongoDB say the driver update is recommended for all users.

More?

Details of 2.12.1 update:
https://github.com/mongodb/mongo-java-driver/releases/tag/r2.12.1

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: Update

2014-04-29 Thread Andrew Chambers
For the llvm based approach you can look at vmkit.

On Wednesday, April 30, 2014 3:39:21 AM UTC+12, Divyansh Prakash wrote:

 Check out my previous reply. The parrot vm provides gc and everything, But 
 still the author defines lambda primitives in c, and then builds over 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.


Re: cursive plugin question

2014-04-29 Thread Andrew Chambers
To do this i created a new run configuration with and in the run config 
dialog set it to local clojure repl, then you need to go to preferences and 
create keybindings for send current form to repl (I just used shift + 
enter). Then it should work no problem.

On Tuesday, April 29, 2014 11:04:24 PM UTC+12, Roelof Wobben wrote:

 Hello, 

 I installed intelij with the cursive plugin.
 Now I wonder if this can be done in some way.

 Suppose I have a file with 3 functions.

 Can I send one to REPL so I can test if it works as I expected. 

 Roelof



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


The Box

2014-04-29 Thread Plínio Balduino
Hi there

Where is the class clojure.lang.Box used in Clojure?

https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/Box.java

Regards

Plínio

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

2014-04-29 Thread Timothy Baldridge
https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/PersistentHashMap.java#L141


On Tue, Apr 29, 2014 at 1:21 PM, Plínio Balduino pbaldu...@gmail.comwrote:

 Hi there

 Where is the class clojure.lang.Box used in Clojure?


 https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/Box.java

 Regards

 Plínio

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




-- 
“One of the main causes of the fall of the Roman Empire was that–lacking
zero–they had no way to indicate successful termination of their C
programs.”
(Robert Firth)

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

2014-04-29 Thread Plínio Balduino
Sure, I didn't notice val as public member.

https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/PersistentHashMap.java#L146

Thank you

Plínio


On Tue, Apr 29, 2014 at 4:44 PM, Timothy Baldridge tbaldri...@gmail.comwrote:


 https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/PersistentHashMap.java#L141


 On Tue, Apr 29, 2014 at 1:21 PM, Plínio Balduino pbaldu...@gmail.comwrote:

 Hi there

 Where is the class clojure.lang.Box used in Clojure?


 https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/Box.java

 Regards

 Plínio

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




 --
 “One of the main causes of the fall of the Roman Empire was that–lacking
 zero–they had no way to indicate successful termination of their C
 programs.”
 (Robert Firth)

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


lein cljsbuild auto ; hook to copy into directory post build

2014-04-29 Thread t x
Hi,


## context:

  I am currently running lein cljsbuild auto

  It appears that each new compile _overwrites_ the old compile in place, say

  resources/out


## what I would prefer to happen:

  every time a new build is triggered, have it

write to resources/tmp
then, exec rm -rf resources/out; mv resources/tmp resources/out


## why I want this behaviour

  I'm also using live.js . It appears, that with longer compile times,
live.js is pulling in _half completed_ builds from lein -- and giving
me very weird errors.

  Thus, I would like lein to build somewhere else, then after a build
is complete, in a single atomic operation, swap the two directories
(which I can do via symlinks).

  Where can I setup a clojure/shell command to be executed every time
lein cljsbuild auto successfully completes a build?


Thanks!

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


Congratulations to our GSoC 2014 students!

2014-04-29 Thread Daniel Solano Gómez
Hello, all,

It's been over a week now since Google announced all of our GSoC
students.  I was on vacation, but here's the list of projects, students,
and mentors:

1. Aleph, a BOT browser and introspector for Light Table, by Andrea
Marchiori, mentored by Jamie Brandon and Chris Granger

2. Incanter and core.matrix integration, by Aleksandr Sorokoumov,
mentored by Mike Andersion and Alex Ott

3. Lean Clojure/JVM runtime, by Alexander Yakushev, mentored by Daniel
Solanoa Gómez and Timothy Baldridge

4. Lean Clojure: An agressive compiler for lighter weight Clojure
programs, by Reid McKenzie, mentored by Timothy Baldridge and Daniel
Solanoa Gómez

5. Linear Algebra for Clojure – Adding linear algebra tools to
core.matrix, by Prasant Chidella, mentored by Mike Anderson

6. Quil on ClojureScript, by Maksim Karandashov, mentored by Nikita
Beloglazov and Baishampayan “BG” Ghose

7. tools.analyzer extensions: cljs port, documentation, by Nicola
Mometto, mentored by Aaron Cohen, Timothy Baldridge, and Ambrose
Bonnaire-Sergeant

8. Typed Clojure: Heterogeneous operations  Dotted Polymorphism, by Di
Xu, mentored by Ambrose Bonnaire-Sergeant

9. Typed ClojureScript Library Annotations, by Minori Yamashita,
mentored by Zack Maril and Ambrose Bonnaire-Sergeant

Congratulations to all of the students.  I am looking forward to seeing
the great things they will create this summer.  Also, a big thanks to
Alex Miller and Ambrose Bonnaire-Sergeant for helping serve as
adminstrators for Clojure’s GSoC effort.

Lastly, there is a new Clojure/GSoC blog [1] and twitter account
(@ClojureGSoC) that you can use to follow our students' progress.

Sincerely,

Daniel


-- 
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: *** Congratulations to our GSoC 2014 students!

2014-04-29 Thread Rich Morin
And a hearty cheer for Daniel (and his helpers) for their efforts!

-r

 -- 
http://www.cfcl.com/rdm   Rich Morin   r...@cfcl.com
http://www.cfcl.com/rdm/resumeSan Bruno, CA, USA   +1 650-873-7841

Software system design, development, and documentation


-- 
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 Office Hours

2014-04-29 Thread Lynn Grogan
This is awesome, thank you Leif!

I just set up an office hours account to help anyone who might be 
interested in organizing a Clojure tech conference or event, Meetup, etc.
I chose some random office times, so ping me if you have a special timing 
request outside of the listed hours. 
 
https://lynn.youcanbook.me/

Cheers! Lynn Grogan (Cognitect, Events Manager)

On Monday, April 28, 2014 5:31:04 AM UTC-5, Ulises wrote:

 Thanks for the pointer Jakob. I've updated the form accordingly.

 Cheers,


 On 28 April 2014 10:56, Jakub Holy jakub...@iterate.no javascript:wrote:

 I too have booked a session with Ulises and am excited about it :-)

 @Ulises It would be nice if the timezone of the session was mentioned on 
 the booking page (your [BST] 9-10am is mine [CEST] 10-11, I believe).


 2014-04-28 11:09 GMT+02:00 Rudi Engelbrecht 
 rudi.eng...@gmail.comjavascript:
 :

 Hi Ulises

 Just finished our session - wow! 

 I have learned a lot by watching how you approach solving the problem I 
 suggested.

 Looking forward to our next session and thanks a lot for sharing your 
 knowledge.

 Kind regards 
  
 Rudi Engelbrecht


  
 On 18/04/2014, at 7:41 PM, Ulises ulises@gmail.com javascript: 
 wrote:

 Yikes! Got my first booking for Monday. That was quick!

 one thing I forgot to mention is that I have no preferred way to do 
 this. I personally have emacs+cider set up, but I'm happy to work with your 
 own set up.

 In the past I've used ScreenHero (not available for Linux unfortunately) 
 for screen sharing, as well as Google hangouts.

 Once you've booked an appointment with me please email me privately to 
 arrange the pairing set up so that I can be ready for you :)

 Cheers


 On 18 April 2014 10:35, Ulises ulises@gmail.com javascript:wrote:

 Inspired by Leif's offer, I've decided to offer Clojure office hours as 
 well.

 I'm based in the UK so I reckon the times will be more amenable to 
 those in Europe (not sure the times will be good for those in Asia 
 unfortunately.)

 Sadly the offer is limited to 1h a day, but hopefully it'll still be 
 useful.

 You can book me at https://ucb.youcanbook.me/
  
 Cheers!


 On 18 April 2014 03:03, Leif leif.p...@gmail.com javascript: wrote:

 @Miguel: There are somewhat subtle arrows on the sides for 
 navigation.  Thursday, April 24 is still open.  I will give a slot to you 
 if you want one, just email me if the 24th is full when you check again.

 @all: But yes, this round of office hours is almost over.  I will be 
 in transit for at least a couple weeks in the beginning of May, but I 
 will 
 probably book some more hours when I become stationary again.  It will 
 probably be more like 4 or 5 hours a week, though, not 8.

 @all: Several poor souls from Europe are going to stay up until 2 a.m. 
 for this, and people further east are probably just silent because the 
 time 
 difference is so large; So, I definitely think some European / African / 
 Asian / Australian clojure devs' office hours would be popular.  It's 
 fun, 
 and you might find some people to hire, if that's your thing!

 --Leif


 On Thursday, April 17, 2014 10:43:50 AM UTC-4, Miguel Ping wrote:

 Hey, the schedule's full! :\

 On Wednesday, April 16, 2014 2:57:49 AM UTC+1, Marcus Blankenship 
 wrote:

 Leif, thanks for the great session today.  Not only did I get a jump 
 start on my next 4Clojure problems, but I learned some emacs as well!  
 Very 
 enjoyable, and I look forward to next week’s session.  THANK YOU!

 All, if you’re trying to get a jumpstart on Clojure, I highly 
 recommend Leif’s office hours.

 -Marcus

 On Apr 15, 2014, at 6:50 PM, Leif leif.p...@gmail.com wrote:

 @Jakub: Thanks for your kind words.  I'm definitely no industry 
 hero, but I hope Clojure devs of all levels start having more pair 
 programming fun.

 @Tim: Clojurescript UI programming being *way* out of my comfort 
 zone, I learned quite a lot from you yesterday.  So thank *you*.

 @Everyone:  To clarify / reiterate:  You do *not* need a plan, a 
 project, or a specific problem.  If you want to work through Project 
 Euler, 
 4clojure, clojure-koans, the ClojureBridge materials, some other 
 clojure 
 tutorial, or just play it by ear, I am happy to try it out.

 --Leif

 On Tuesday, April 15, 2014 8:00:17 AM UTC-4, frye wrote:

 I just came from an office hours session, yesterday with Leif. 

 This is good stuff guys, and a great way to learn and meet with 
 other developers. Highly recommended. 


 Thanks Leif 

 Tim Washington 
 Interruptsoftware.com http://interruptsoftware.com/ 


 On Tue, Apr 15, 2014 at 5:12 AM, Jakub Holy jakub...@iterate.nowrote:

 Hi Leif,

 This is a great activity, thank you for contributing to the 
 community this way!

 Do not be surprise and discouraged by the fact that the interest 
 seems low. I have a similar experience - in my company we can consult 
 with 
 an industry hero yet people use the opportunity seldom, presumably 
 because of multiple factors: they 

Re: lein cljsbuild auto ; hook to copy into directory post build

2014-04-29 Thread t x
Correct answer:
https://github.com/emezeske/lein-cljsbuild/blob/master/sample.project.clj#L73
:-)

On Tue, Apr 29, 2014 at 2:29 PM, t x txrev...@gmail.com wrote:
 Hi,


 ## context:

   I am currently running lein cljsbuild auto

   It appears that each new compile _overwrites_ the old compile in place, say

   resources/out


 ## what I would prefer to happen:

   every time a new build is triggered, have it

 write to resources/tmp
 then, exec rm -rf resources/out; mv resources/tmp resources/out


 ## why I want this behaviour

   I'm also using live.js . It appears, that with longer compile times,
 live.js is pulling in _half completed_ builds from lein -- and giving
 me very weird errors.

   Thus, I would like lein to build somewhere else, then after a build
 is complete, in a single atomic operation, swap the two directories
 (which I can do via symlinks).

   Where can I setup a clojure/shell command to be executed every time
 lein cljsbuild auto successfully completes a build?


 Thanks!

-- 
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] data.avl 0.0.12 -- sorted collections with slice, nth, transient support

2014-04-29 Thread Michał Marczyk
Here's a round of benchmarks for the new functions
(avl/{nearest,subrange,split-at,split-key}), with a lookup benchmark
included as a point of reference.

Cheers,
Michał


(let [m (apply avl/sorted-map
   (interleave (range 10) (range 10)))]
  (c/bench (get m 9))
  (c/bench (avl/nearest m  10))
  (c/bench (avl/subrange m = 1  75000))
  (c/bench (avl/split-at 3 m))
  (c/bench (avl/split-key 3 m)))
WARNING: Final GC required 4.244287716089524 % of runtime
Evaluation count : 213693000 in 60 samples of 3561550 calls.
 Execution time mean : 278.027014 ns
Execution time std-deviation : 4.284738 ns
   Execution time lower quantile : 273.830485 ns ( 2.5%)
   Execution time upper quantile : 287.103701 ns (97.5%)
   Overhead used : 2.289159 ns

Found 10 outliers in 60 samples (16.6667 %)
low-severe 9 (15. %)
low-mild 1 (1.6667 %)
 Variance from outliers : 1.6389 % Variance is slightly inflated by outliers
Evaluation count : 168881400 in 60 samples of 2814690 calls.
 Execution time mean : 352.393290 ns
Execution time std-deviation : 5.226142 ns
   Execution time lower quantile : 346.698762 ns ( 2.5%)
   Execution time upper quantile : 364.246208 ns (97.5%)
   Overhead used : 2.289159 ns

Found 4 outliers in 60 samples (6.6667 %)
low-severe 4 (6.6667 %)
 Variance from outliers : 1.6389 % Variance is slightly inflated by outliers
Evaluation count : 1333200 in 60 samples of 0 calls.
 Execution time mean : 45.605490 µs
Execution time std-deviation : 682.937868 ns
   Execution time lower quantile : 44.839275 µs ( 2.5%)
   Execution time upper quantile : 47.176367 µs (97.5%)
   Overhead used : 2.289159 ns

Found 3 outliers in 60 samples (5. %)
low-severe 3 (5. %)
 Variance from outliers : 1.6389 % Variance is slightly inflated by outliers
Evaluation count : 2338740 in 60 samples of 38979 calls.
 Execution time mean : 25.715076 µs
Execution time std-deviation : 366.924494 ns
   Execution time lower quantile : 25.249912 µs ( 2.5%)
   Execution time upper quantile : 26.592419 µs (97.5%)
   Overhead used : 2.289159 ns

Found 2 outliers in 60 samples (3. %)
low-severe 2 (3. %)
 Variance from outliers : 1.6389 % Variance is slightly inflated by outliers
Evaluation count : 2596800 in 60 samples of 43280 calls.
 Execution time mean : 23.343989 µs
Execution time std-deviation : 308.669720 ns
   Execution time lower quantile : 22.908707 µs ( 2.5%)
   Execution time upper quantile : 24.143221 µs (97.5%)
   Overhead used : 2.289159 ns

Found 4 outliers in 60 samples (6.6667 %)
low-severe 4 (6.6667 %)
 Variance from outliers : 1.6389 % Variance is slightly inflated by outliers


On 24 April 2014 08:51, Michał Marczyk michal.marc...@gmail.com wrote:
 Cheers Alex!

 See below for the results of yesterday's run of my benchmark suite for
 the basic operations. (I'll post some benchmark results for the new
 functions in a separate message sometime soon.)

 In general, it's fair to expect (persistent) assoc/dissoc to be slower
 with data.avl maps, since AVL trees do more work to rebalance
 themselves than red-black trees. (That's on average, of course.)

 The upside is that lookups in AVL trees are faster on average,
 sometimes quite dramatically, due to the trees being shallower. It's
 worth pointing out that this really is on average -- individual
 timings depend on the path through the tree the lookup operation needs
 to traverse, and for nodes at exactly the same position in the tree
 the built-ins are slightly faster (23.9 ns vs. 25.5 ns for a lookup
 succeeding at the root node, see the (get % 131071) benchmark case
 below; as I recall, 0 happens to occupy the same position in both
 benchmark maps as well) -- but if we hit a deeper part of a red-black
 tree, data.avl is likely to win by a large margin, as in the case of
 the 311 ns (data.avl) vs. 588 ns (built-in) result for looking up
 29 in the two benchmark maps.

 For longer chains of updates -- including construction of instances
 with more than a handful of elements -- data.avl wins thanks to its
 support for transients; in particular, inserting 30 entries in
 ascending order of keys took 197 ns with data.avl's sorted-map during
 my benchmark run yesterday vs. 317 ns with the built-in.


 ;;; the setup:

 (def ks   (range 30))
 (def ksks (interleave ks ks))

 (def rb  (apply sorted-map ksks))
 (def avl (apply avl/sorted-map ksks))

 ;;; the actual benchmark run

 Clojure 1.5.1
 user= (all-benchmarks)
 (lookup-benchmarks)
 ===
 (c/bench (get avl 0))
 WARNING: Final GC required 17.95425214438086 % of runtime
 WARNING: Final GC required 1.44548564181991 % of runtime
 Evaluation count : 233348580 in 60 samples of 3889143 calls.
  Execution time mean : 257.269857 ns
 Execution time std-deviation : 2.083817 ns

Re: clojure.core.memoize dependency problem

2014-04-29 Thread Sean Corfield
What Leiningen plugins do you have installed? (Both in your project and in
your user profile)

I believe this is caused by a plugin forcing an earlier version of
clojure.core.cache on you...

On Saturday, April 26, 2014, Daniel Slutsky daniel.slut...@gmail.com
wrote:

 added an issue at
 http://dev.clojure.org/jira/browse/CMEMOIZE-14


 On Thursday, April 24, 2014 6:42:08 PM UTC+3, Daniel Slutsky wrote:


 Dear Clojure group,
 I am running into an interesting issue with clojure.core.memoize.

 I created a simple project depending on clojure.core.memoize.
 (defproject test-memoize 0.1.0-SNAPSHOT
   :description FIXME: write description
   :url http://example.com/FIXME;
   :license {:name Eclipse Public License
 :url http://www.eclipse.org/legal/epl-v10.html}
   :dependencies [[org.clojure/clojure 1.5.1]
  [org.clojure/core.memoize 0.5.6]])

 Trying to use it, I run into the following problem:

 $ lein repl
 nREPL server started on port 38522 on host 127.0.0.1
 ...
 user= (require 'clojure.core.memoize)

 user= CompilerException java.lang.RuntimeException: No such var:
 clojure.core.cache/through, compiling:(clojure/core/memoize.clj:52:3)

 This pboblem has been recorded before:
 https://groups.google.com/forum/#!msg/light-table-discussion/f4kpZLFGBV8/
 oyFPaJ4yvwwJ
 http://www.raynes.me/logs/irc.freenode.net/clojure/2013-09-11.txt
 https://github.com/LightTable/LightTable/issues/794

 The suggested solution from the LightTable bug discussion
 [[org.clojure/core.cache 0.6.3]
  [org.clojure/core.memoize 0.5.6 :exclusions [org.clojure/core.cache]]]
 does not seem to work.

 Any ideas?

  --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to 
 clojure@googlegroups.comjavascript:_e(%7B%7D,'cvml','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.comjavascript:_e(%7B%7D,'cvml','clojure%2bunsubscr...@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.comjavascript:_e(%7B%7D,'cvml','clojure%2bunsubscr...@googlegroups.com');
 .
 For more options, visit https://groups.google.com/d/optout.



-- 
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/

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: *** Congratulations to our GSoC 2014 students!

2014-04-29 Thread Zach Oakes
Agreed! These all look really exciting.

On Tuesday, April 29, 2014 5:42:29 PM UTC-4, Rich Morin wrote:

 And a hearty cheer for Daniel (and his helpers) for their efforts! 

 -r 

  -- 
 http://www.cfcl.com/rdm   Rich Morin   
 r...@cfcl.comjavascript: 
 http://www.cfcl.com/rdm/resumeSan Bruno, CA, USA   +1 650-873-7841 

 Software system design, development, and documentation 




-- 
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: Proposing a new Clojure documentation system (in Clojure)

2014-04-29 Thread Phil Hagelberg
On Saturday, April 26, 2014 9:21:26 PM UTC-7, Mars0i wrote:
 I like the general idea of the Valentin's proposal, but I don't
 understand every bit of it.  It sounds complicated.  Personally, I'd
 rather see something that's relatively simple, and good enough, than
 something that's perfect but unwieldy.  If it's too difficult, people
 won't use it, or they'll waste time, or feel that the Clojure
 community expects them to spend too much time on something that
 detracts from what's important.

Double-inc[1] on this. Clojure needs people who care about documentation 
far more than it needs another documentation system. Don't try to apply a 
technical solution to a social problem.

-Phil

[1] - or dinc, as I like to call 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.


Re: *** Congratulations to our GSoC 2014 students!

2014-04-29 Thread Mike Haney
Wow, lots of cool projects to look forward to.  Congrats to all the GSoC 
students, and thank you to all their mentors.

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


Sliding Windows

2014-04-29 Thread Paulo Suzart
Hi Guys,

I was looking for a very simple stream processing lib. We have some in
clojure (lamina, meltdown, esper, eep).

The simplest one was clojure werkz eep, but they don't provide sliding
windows. I ender up writing this:
http://paulosuzart.github.io/blog/2014/04/27/sliding-window-events-with-clojure/

And publishing this very small implementation using meltdown.
https://github.com/paulosuzart/sw . It is enough for a very simple use case
I have to deal. If anyone knows any other sliding window impl please share.

Regards

-- 
Paulo Suzart
@paulosuzart

-- 
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: Kwargs vs explicit parameter map for APIs?

2014-04-29 Thread Sean Corfield
Having worked through this for java.jdbc (and to a lesser extent for 
CongoMongo), I think that I would approach it slightly differently in future:

Provide two functions: one taking a map, one taking keyword arguments; the 
latter delegating to the former via  {:as opts} and then internal calls can 
easily use the map-based argument approach.

One of the additional complexities in java.jdbc (as it stands today) is that 
several functions accept an arbitrary number of arguments, followed by optional 
keyword arguments as well, so several functions have to parse their argument 
lists at runtime. Simplifying that to use a sequence (of current arguments) 
followed by a map (of options) would make several things easier inside the 
library, removing a lot of apply calls, as well as providing an API that is 
more amenable to dynamic call construction...

I still think the keyword argument approach is far more readable to _users_ - 
and it's also what was recommended in the Clojure Library Guidelines right up 
until a few days ago:

http://dev.clojure.org/pages/viewpage.action?pageId=9142444

Reid McKenzie changed it on April 24th, completely reversing the previous 
recommendation from Unroll optional named arguments to Don't unroll optional 
named arguments - compare version 6 (from Stuart Halloway) with Reid's edits 
in versions 7-11:

http://dev.clojure.org/pages/diffpagesbyversion.action?pageId=1573132selectedPageVersions=11selectedPageVersions=6

Sean

On Apr 25, 2014, at 3:41 PM, Colin Fleming colin.mailingl...@gmail.com wrote:

 Hi all,
 
 I'm working on an API at the moment, and I'm balancing whether to use inline 
 keyword args which I would destructure in the functions, or whether to just 
 pass an explicit params map as the last parameter. Comparison of the two 
 options in case I'm not explaining myself well:
 
 Kwargs:
 (class/create-class :instancelist
 :description My description
 :implements  (keys class-methods)
 :methods (calculate-my-methods))
 
 Map:
 (class/create-class {:instancelist
  :description My description
  :implements  (keys class-methods)
  :methods (calculate-my-methods)})
 
 A lot of APIs I've seen have favoured kwargs, and it undeniably makes for 
 some pretty code - Seesaw is the best example I've seen here, the API is a 
 thing of beauty. However it seems to me to have some issues:
 If I want to delegate to another call from within an API function and use the 
 same arguments, it's really awkward: (apply delegate (mapcat identity args)) 
 or some similarly awful black juxt magic. Or of course writing out all the 
 parameters again, but that's even worse.
 It's more difficult to make parameters optional based on some runtime 
 criteria since the params are baked into the function call. I guess this is 
 usually dealt with by making the calls handle nil for a particular parameter.
 Both of these are much easier when passing an explicit map. Any preferences 
 here, from either writing or using APIs like this?
 
 Cheers, 
 
 Colin
 
 
 -- 
 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.

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: Kwargs vs explicit parameter map for APIs?

2014-04-29 Thread James Reeves
On 30 April 2014 03:54, Sean Corfield s...@corfield.org wrote:

 I still think the keyword argument approach is far more readable to _users_


Really? It's only an omission of two braces. While readability is
subjective, I'm not sure how that can be considered to be *far* more
readable.

From a purely practical perspective, explicit maps are generally a lot
easier to work with. To my mind the disadvantages of keyword arguments
often outweigh the small presentational benefits they have.

- James

-- 
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: Proposing a new Clojure documentation system (in Clojure)

2014-04-29 Thread Tim Daly
Phil,

 I like the general idea of the Valentin's proposal, but I don't
 understand every bit of it.  It sounds complicated.  Personally, I'd
 rather see something that's relatively simple, and good enough, than
 something that's perfect but unwieldy.  If it's too difficult, people
 won't use it, or they'll waste time, or feel that the Clojure
 community expects them to spend too much time on something that
 detracts from what's important.

Can I ask, quite seriously and not intending any sarcasm, what you mean
by detracts from what's important? 

For me, what's important is to communicate ideas, designs, and details
from one developer to another so that others can maintain, modify, and
extend what exists. I've already held forth on what I think that implies
so I won't bore you with it.

What I don't understand is your criteria for what's important and 
how that translates to action.

If we can agree on what's important then the technical details would
have common criteria for simple and good enough vs something that's
perfect but unwieldy.

Tim Daly


-- 
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: Proposing a new Clojure documentation system (in Clojure)

2014-04-29 Thread Phil Hagelberg
On Tuesday, April 29, 2014 8:47:58 PM UTC-7, da...@axiom-developer.org 
wrote:
 Can I ask, quite seriously and not intending any sarcasm, what you mean 
 by detracts from what's important?

What's important is writing clear explanatory prose.

This is really hard to do for a lot of reasons, but none of them are 
technical. Organizing your thoughts is hard. Thinking like a newcomer is 
very hard. Achieving clarity on any subject matter is hard. Knowing when to 
update is hard. Editing is hard. (And you can't effectively act as your own 
editor.)

Putting words into a file on disk is easy, and rendering those words in a 
way that is convenient for others to read is very easy.

-Phil

ps. I hope that anyone who's interested in improving the documentation 
situation will look to Jacob Kaplan-Moss's articles on the topic, which do 
a better job of laying out the problem than I could 
do: http://jacobian.org/writing/what-to-write/

-- 
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: Proposing a new Clojure documentation system (in Clojure)

2014-04-29 Thread Mars0i
On Tuesday, April 29, 2014 10:47:58 PM UTC-5, da...@axiom-developer.org 
wrote:

 Phil, 

  I like the general idea of the Valentin's proposal, but I don't 
  understand every bit of it.  It sounds complicated.  Personally, I'd 
  rather see something that's relatively simple, and good enough, than 
  something that's perfect but unwieldy.  If it's too difficult, people 
  won't use it, or they'll waste time, or feel that the Clojure 
  community expects them to spend too much time on something that 
  detracts from what's important. 

 Can I ask, quite seriously and not intending any sarcasm, what you mean 
 by detracts from what's important? 

 For me, what's important is to communicate ideas, designs, and details 
 from one developer to another so that others can maintain, modify, and 
 extend what exists. I've already held forth on what I think that implies 
 so I won't bore you with it. 

 What I don't understand is your criteria for what's important and 
 how that translates to action. 

 If we can agree on what's important then the technical details would 
 have common criteria for simple and good enough vs something that's 
 perfect but unwieldy. 

 Tim Daly 


We agree. 

-- 
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: Proposing a new Clojure documentation system (in Clojure)

2014-04-29 Thread Mars0i
On Tuesday, April 29, 2014 11:01:46 PM UTC-5, Mars0i wrote:

 On Tuesday, April 29, 2014 10:47:58 PM UTC-5, da...@axiom-developer.orgwrote:

 Phil, 

  I like the general idea of the Valentin's proposal, but I don't 
  understand every bit of it.  It sounds complicated.  Personally, I'd 
  rather see something that's relatively simple, and good enough, than 
  something that's perfect but unwieldy.  If it's too difficult, people 
  won't use it, or they'll waste time, or feel that the Clojure 
  community expects them to spend too much time on something that 
  detracts from what's important. 

 Can I ask, quite seriously and not intending any sarcasm, what you mean 
 by detracts from what's important? 

 For me, what's important is to communicate ideas, designs, and details 
 from one developer to another so that others can maintain, modify, and 
 extend what exists. I've already held forth on what I think that implies 
 so I won't bore you with it. 

 What I don't understand is your criteria for what's important and 
 how that translates to action. 

 If we can agree on what's important then the technical details would 
 have common criteria for simple and good enough vs something that's 
 perfect but unwieldy. 

 Tim Daly 


 We agree. 


Oh, sorry--you also asked what I meant by detracts from what's 
important.  If a documentation formatting/organizing/coding system required 
learning a lot, figuring out a lot, adding information that is unlikely to 
be helpful, but could easily be replaced with something that's trivial to 
use, produce output that's less pretty, and that might require using a 
search function more often, but nevertheless helps to support good, 
thorough documentation (maybe terse sometimes, but still, it gives you what 
you need) that helps other developers (or oneself, later) to understand 
code whose meaning isn't obvious, then I'd favor the latter.  Maybe no one 
is proposing what the former.  I didn't understand the proposal, so I 
didn't know.  (Aside about obviousness: My own standard for obviousness is 
more restrictive--i.e. fewer things are obvious--than some programmers, I 
think.)

-- 
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: Proposing a new Clojure documentation system (in Clojure)

2014-04-29 Thread Phil Hagelberg
On Tuesday, April 29, 2014 9:08:48 PM UTC-7, Mars0i wrote:

 Oh, sorry--you also asked what I meant by detracts from what's 
 important.  If a documentation formatting/organizing/coding system required 
 learning a lot, figuring out a lot, adding information that is unlikely to 
 be helpful


Imagine you're reading through some documentation and you notice a problem. 
Maybe a typo, or something out of date, or something that's confusing that 
you could explain better. In one scenario there's a git clone link in the 
sidebar to a repository that contains a bunch of markdown files. In another 
scenario there's an HTML rendering generated from a literate programming 
project where the prose is intermixed with the code and requires a specific 
version of org-mode and the knowledge of how to untangle something in 
order to render it.

Guess which one is going to get improved.

-Phil

-- 
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: Congratulations to our GSoC 2014 students!

2014-04-29 Thread Alex Miller
Huge thanks to Daniel for ushering things up to this phase - he has done a 
ton of work behind the scenes (along with Ambrose and the other mentors) in 
working to connect the right people and projects and take care of all the 
paperwork so this happens.

Alex


On Tuesday, April 29, 2014 4:34:20 PM UTC-5, Daniel Solano Gómez wrote:

 Hello, all, 

 It's been over a week now since Google announced all of our GSoC 
 students.  I was on vacation, but here's the list of projects, students, 
 and mentors: 

 1. Aleph, a BOT browser and introspector for Light Table, by Andrea 
 Marchiori, mentored by Jamie Brandon and Chris Granger 

 2. Incanter and core.matrix integration, by Aleksandr Sorokoumov, 
 mentored by Mike Andersion and Alex Ott 

 3. Lean Clojure/JVM runtime, by Alexander Yakushev, mentored by Daniel 
 Solanoa Gómez and Timothy Baldridge 

 4. Lean Clojure: An agressive compiler for lighter weight Clojure 
 programs, by Reid McKenzie, mentored by Timothy Baldridge and Daniel 
 Solanoa Gómez 

 5. Linear Algebra for Clojure – Adding linear algebra tools to 
 core.matrix, by Prasant Chidella, mentored by Mike Anderson 

 6. Quil on ClojureScript, by Maksim Karandashov, mentored by Nikita 
 Beloglazov and Baishampayan “BG” Ghose 

 7. tools.analyzer extensions: cljs port, documentation, by Nicola 
 Mometto, mentored by Aaron Cohen, Timothy Baldridge, and Ambrose 
 Bonnaire-Sergeant 

 8. Typed Clojure: Heterogeneous operations  Dotted Polymorphism, by Di 
 Xu, mentored by Ambrose Bonnaire-Sergeant 

 9. Typed ClojureScript Library Annotations, by Minori Yamashita, 
 mentored by Zack Maril and Ambrose Bonnaire-Sergeant 

 Congratulations to all of the students.  I am looking forward to seeing 
 the great things they will create this summer.  Also, a big thanks to 
 Alex Miller and Ambrose Bonnaire-Sergeant for helping serve as 
 adminstrators for Clojure’s GSoC effort. 

 Lastly, there is a new Clojure/GSoC blog [1] and twitter account 
 (@ClojureGSoC) that you can use to follow our students' progress. 

 Sincerely, 

 Daniel 




-- 
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: Proposing a new Clojure documentation system (in Clojure)

2014-04-29 Thread Atamert Ölçgen
On Wed, Apr 30, 2014 at 4:18 AM, Phil Hagelberg p...@hagelb.org wrote:

 On Tuesday, April 29, 2014 9:08:48 PM UTC-7, Mars0i wrote:

 Oh, sorry--you also asked what I meant by detracts from what's
 important.  If a documentation formatting/organizing/coding system required
 learning a lot, figuring out a lot, adding information that is unlikely to
 be helpful


 Imagine you're reading through some documentation and you notice a
 problem. Maybe a typo, or something out of date, or something that's
 confusing that you could explain better. In one scenario there's a git
 clone link in the sidebar to a repository that contains a bunch of
 markdown files. In another scenario there's an HTML rendering generated
 from a literate programming project where the prose is intermixed with the
 code and requires a specific version of org-mode and the knowledge of how
 to untangle something in order to render it.

 Guess which one is going to get improved.


The answer is not immediately obvious to me.

Since I don't use emacs, I would probably have found the former easier.
Having said that, perhaps everybody else who are capable of contributing
are already comfortable with the literal programming tool. Or perhaps I
would find out it doesn't take too much effort to contribute once I learn
the basics. And perhaps this kind of documentation is works much better for
this specific project, seeing the code and the docs side by side. I'm going
to risk saying, perhaps there is an inversely proportional relationship
between markdown proficiency/preference and contributed value in a
technical community.

I'm not saying documentation as a bunch of markdown files sucks. I'm just
not sure if it would shown to be objectively superior to the less
accessible literate programming, in the context of the quality of
contributions and perhaps the health of the project.





 -Phil

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




-- 
Kind Regards,
Atamert Ölçgen

-+-
--+
+++

www.muhuk.com

-- 
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: Kwargs vs explicit parameter map for APIs?

2014-04-29 Thread Alex Baranosky
I'm extremely internally torn regarding kwargs.  I use them a lot; I know
they hinder composability; but every time I go back to straight maps for
these kinds of things I really don't like all the extra noise characters
and go back to kwargs.

I feel like I really should be using regular maps for all the good reasons
listed, but in practice I don't. Honestly, I don't usually run into the
composability issues too often, so I'm getting by ok with my indulgence
in kwargs, I suppose.

I especially dislike that my non-kwarg fns no-longer can elegantly accept
no options.  Let me illustrate:

(defn foo [ {:keys [a b]}]
  [a b])

(foo :a 1 :b 2)
(foo)

(defn foo [{:keys [a b]}]
  [a b])

(foo {:a 1 :b 1})
(foo {}) ;; -- unpleasant to my eyes, let me reimplement foo

(defn foo
  This is also pretty gross
  ([]
 (foo {}))
  ([{:keys [a b]}]
 [a b]))

So, yeah, I'm pretty torn.

I like the option of having kwargs for the outer API shell, and explicit
option maps internally.  I've played with that a little as well at work to
some ok success.

Alex



On Tue, Apr 29, 2014 at 8:41 PM, James Reeves ja...@booleanknot.com wrote:

 On 30 April 2014 03:54, Sean Corfield s...@corfield.org wrote:

 I still think the keyword argument approach is far more readable to
 _users_


 Really? It's only an omission of two braces. While readability is
 subjective, I'm not sure how that can be considered to be *far* more
 readable.

 From a purely practical perspective, explicit maps are generally a lot
 easier to work with. To my mind the disadvantages of keyword arguments
 often outweigh the small presentational benefits they have.

 - James

 --
 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: Kwargs vs explicit parameter map for APIs?

2014-04-29 Thread James Reeves
On 30 April 2014 06:07, Alex Baranosky alexander.barano...@gmail.comwrote:

 I especially dislike that my non-kwarg fns no-longer can elegantly accept
 no options.  Let me illustrate:

 (defn foo [ {:keys [a b]}]
   [a b])

 (foo :a 1 :b 2)
 (foo)


You could write:

(defn foo [ [{:keys [a b]}]]
  [a b])

(foo {:a 1 :b 2})
(foo)

- James

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