Re: Google Summer of Code 2013

2013-02-16 Thread Mikera
Awesome stuff!

core.matrix has a lot of great opportunities to work on something 
meaningful, and I'd be happy to mentor one or more students in this area. 
Top of my list would be:

 - Extending core.matrix support to Incanter (medium, needs collaboration 
with Incanter team)
 - A full NumPy style NDArray implementation in Clojure (large, quite 
advanced)
 - core.matrix support for data tables (e.g. database resultsets, 
statistical datasets etc.) (medium)

Will post a proposal along these lines.

On Friday, 15 February 2013 02:03:58 UTC+8, Daniel Solano Gómez wrote:
>
> Hello, all,
>
> It's official:  Google Summer of Code 2013 is on.
>
> Last year, Clojure was able to get four students who worked on projects 
> like Typed Clojure, Clojure on Android, Clojure and Lua, and Overtone, and 
> I'd love to see Clojure be a mentoring organisation again this year.
>
> I have created a GSoC 2013 page on the Clojure community wiki <
> http://dev.clojure.org/display/community/Google+Summer+of+Code+2013>. 
>  Here you will be able to find the latest information about what's going on 
> with Clojure's GSoC 2013 effort and how to get involved.
>
> Here's some ways you can help:
>
> * Let people in your local user groups or university know about Clojure 
> and GSoC.
> * If you're going to Clojure/West, attend the GSoC unsession.
>
> For students
>
> * Start researching project ideas and get involved with the relevant 
> communities to find mentors.
>
> For developers:
>
> Does your open source project have a backlog of features to implement? 
>  GSoC is a great way to draw new contributors to your project.
>
> * Post it to the project idea page and become a mentor.
> * Let people know about GSoC on your project mailing list.
>
> I'd like to thank everyone in advance for helping with our GSoC 2013 
> project.
>
> 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/groups/opt_out.




Re: Why is this so difficult?

2013-02-16 Thread Phillip Lord
Víctor M. V.  writes:
> Phil, while I don't know the specific application you're working on,
> distributing Clojure apps to end users should't be any more difficult than
> distributing Java apps. Are you familiar with `lein uberjar`?

No, you miss the point. I am writing a DSL. The point is that "end
users" have will use my library and will write new code; they just don't
need to know that its Clojure that the are writing. So, they need a
working Clojure development environment. 


> As for Linux installation, curling and executing a single script can't be
> that much work...? Anyway what I do is to include those few lines of code
> in a script I use every time I install Linux on a new box - it sets up
> Ruby, Java, performs a bunch of apt-get-installs, makes some aliases, etc.

Previous experience has told me to avoid this kind of installation
unless you have to. The script approach is fine, but I dropped this
because maintaining the script is a pain. It's easier just to install
things when you use them. Slowly, overtime, as you change machines, the
things you use rarely evaporate away. So, subversion used to be a very
early install, while now it can take months. 

So, everything else, I install with aptitude. Clojure though. Well,
aptitude install clojure installs 1.1. So, then after I've worked out I
need leiningen, aptitude install leiningen works, but is the wrong thing
to do, because that is old also. Of course, the latter should go away
soon now lein2 is out.

Again, none of this is a disaster, but it's different from normal; this
is also what the OP was talking about. On windows he expects click and
point. 

I shall leave it there. I have a few ideas that I might try and
implement. If there is a desire, things will improve, so long as we
recognise that the situation is not yet ideal.

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/groups/opt_out.




Re: Why is this so difficult?

2013-02-16 Thread Phillip Lord
Phil Hagelberg  writes:
>> I'd agree with this. The situation is even not ideal with linux; when I
>> first used Clojure I was reticient to install lein by hand and only lein
>> 1 was available for my repo. Lazy? Well, I use 4 or 5 machines
>> routinely, and I set them up as I go, so an quick and easy install is
>> important. Eventually, I relented. 
>
> I know this is a drag, but package managers nearly always lag behind
> upstream releases; it's an unfortunate fact of life.

Sure, I know. I think I started Clojure at a slightly unfortunate time,
with both lein1->lein2 and slime-swank->nrepl. 

> If you're interested in helping on this, please drop a line on the
> Leiningen mailing list and we can pick it up there.

Packaging isn't my expertise, am afraid. I've tried an Emacs hack
instead, which I've mailed to nrepl.el. 

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/groups/opt_out.




Re: Building/inserting multiple records

2013-02-16 Thread Jonathon McKitrick
I'm sorry, I misspoke.  I meant *update* multiple records.

On Saturday, February 16, 2013 1:54:11 AM UTC-5, Feng Shen wrote:
>
> > Is it easy (and immutable) to build a collection of records to insert? 
>  I've been told CONJ is a good start.
>
> map maybe be helpful:  (map (fn [d] return-map-of-records) datasets)
>
> > Does the clojure jdbc interface support insertion of multiple records? 
>  I haven't seen such a function yet.
>
> clojure.java.jdbc/insert-records
>
>
>
> On Saturday, February 16, 2013 11:30:08 AM UTC+8, Jonathon McKitrick wrote:
>>
>> I'm iterating a large dataset and inserting a record for each row.  After 
>> working in a Salesforce environment, I'm thinking it would be better to 
>> build a collection of records and insert them in one fell swoop.
>>
>> 1.  Is it easy (and immutable) to build a collection of records to 
>> insert?  I've been told CONJ is a good start.
>> 2.  Does the clojure jdbc interface support insertion of multiple 
>> records?  I haven't seen such a function yet.
>>
>>

-- 
-- 
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/groups/opt_out.




Re: Why is this so difficult?

2013-02-16 Thread Mikera
On Saturday, 16 February 2013 02:31:43 UTC+8, puzzler wrote:

> On Fri, Feb 15, 2013 at 8:19 AM, Jules  >wrote:
>
>> But now you still don't have leiningen, which is essential if you want to 
>> do anything non toy. The installation page of CCW does describe how to 
>> create a leiningen project, but doesn't say that you first have to manually 
>> install leiningen.
>>
>  
> AFAIK, this is not true.   Eclipse Counterclockwise comes bundled with its 
> own internal copy of leiningen, and completely manages it for you.  You do 
> not need to manually install leiningen or understand anything about it 
> other than how to add dependencies to your project.clj file.
>

FWIW, you also have the option of using Maven in Eclipse: this works as a 
decent alternative to Leiningen in many cases (downside: you have to learn 
Maven's quirks - upside: the IDE/tool integration is *much* better, you 
don't need to lean Leiningen's quirks). 

I've developed several non-trivial projects in Clojure using 
Eclipse+CCW+Maven (e.g. Clisk, Ironclad, core.matrix) and never needed to 
use Leiningen.
 

>
> I personally think that Eclipse's ultra-simple install (just unzip it) is 
> refreshing relative to the complexity of other Windows install programs 
> which create a lot of junk on my desktop, start menu, and registry.  Once 
> Eclipse is unzipped, the installation of counterclockwise plugin is one 
> step and pretty clearly documented, in my opinion.  I definitely think this 
> is the easiest way to get up and running with Clojure on windows.
>
> I can see how the counterclockwise site would benefit from a more 
> unambiguous endorsement of a specific version of Eclipse, for users who 
> aren't already using it and are downloading it for the first time.  There 
> are a lot of choices at the Eclipse site.  Also, I understand there a few 
> confusing aspects of getting started once everything is installed: starting 
> a project (leiningen project vs clojure project), creating a file to code 
> in (doesn't automatically do user-friendly things like add the .clj 
> extension to new files created in the project nor add a default namespace 
> declaration at the top of the file), and starting the REPL (there are a few 
> different ways to start a REPL and it is not obvious what, if any, the 
> differences are).
>
>
>

-- 
-- 
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/groups/opt_out.




Re: Google Summer of Code 2013

2013-02-16 Thread Daniel Solano Gómez
Hello, Andy,

I can't see any reason why Clooj wouldn't qualify as GSoC project.  I
believe the main criteria are that it has to be coding (i.e. not just
documentation work), it must be released with an open source license,
and it has to be a full summer's worth of work.

Feel free to add Clooj to the project ideas page
.

Sincerely,

Daniel



On Fri Feb 15 16:06 2013, Andy Fingerhut wrote:
> I don't know if it would be within the scope of what GSoC would be interested 
> in funding, or if anyone would be interested in doing it, but from some of 
> the messages in the "Why is it so hard?" thread, there are people interested 
> in seeing Clooj stay up to date and maintained.
> 
> Andy
> 
> On Feb 14, 2013, at 10:03 AM, Daniel Solano Gómez wrote:
> 
> > Hello, all,
> > 
> > It's official:  Google Summer of Code 2013 is on.
> > 
> > Last year, Clojure was able to get four students who worked on projects 
> > like Typed Clojure, Clojure on Android, Clojure and Lua, and Overtone, and 
> > I'd love to see Clojure be a mentoring organisation again this year.
> > 
> > I have created a GSoC 2013 page on the Clojure community wiki 
> > .  
> > Here you will be able to find the latest information about what's going on 
> > with Clojure's GSoC 2013 effort and how to get involved.
> > 
> > Here's some ways you can help:
> > 
> > * Let people in your local user groups or university know about Clojure and 
> > GSoC.
> > * If you're going to Clojure/West, attend the GSoC unsession.
> > 
> > For students
> > 
> > * Start researching project ideas and get involved with the relevant 
> > communities to find mentors.
> > 
> > For developers:
> > 
> > Does your open source project have a backlog of features to implement?  
> > GSoC is a great way to draw new contributors to your project.
> > 
> > * Post it to the project idea page and become a mentor.
> > * Let people know about GSoC on your project mailing list.
> > 
> > I'd like to thank everyone in advance for helping with our GSoC 2013 
> > project.
> > 
> > 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/groups/opt_out.
> 
> 


signature.asc
Description: Digital signature


Re: Google Summer of Code 2013

2013-02-16 Thread Daniel Solano Gómez
Hello, Håkan,

I don't think there is any problem with Deuce being a Clojure GSoC idea.
Feel free to add it to the project ideas page
.

Sincerely,

Daniel


On Fri Feb 15 23:32 2013, Håkan Råberg wrote:
> I'm pretty interested in setting up and mentor a project around Deuce[1] - 
> exact scope to be decided.
> But I'm not sure this would fall under the scope of this?
> 
> cheers, Hakan
> 
> [1] https://github.com/hraberg/deuce/
> 
> On Thursday, 14 February 2013 23:33:58 UTC+5:30, Daniel Solano Gómez wrote:
> >
> > Hello, all,
> >
> > It's official:  Google Summer of Code 2013 is on.
> >
> > Last year, Clojure was able to get four students who worked on projects 
> > like Typed Clojure, Clojure on Android, Clojure and Lua, and Overtone, and 
> > I'd love to see Clojure be a mentoring organisation again this year.
> >
> > I have created a GSoC 2013 page on the Clojure community wiki <
> > http://dev.clojure.org/display/community/Google+Summer+of+Code+2013>. 
> >  Here you will be able to find the latest information about what's going on 
> > with Clojure's GSoC 2013 effort and how to get involved.
> >
> > Here's some ways you can help:
> >
> > * Let people in your local user groups or university know about Clojure 
> > and GSoC.
> > * If you're going to Clojure/West, attend the GSoC unsession.
> >
> > For students
> >
> > * Start researching project ideas and get involved with the relevant 
> > communities to find mentors.
> >
> > For developers:
> >
> > Does your open source project have a backlog of features to implement? 
> >  GSoC is a great way to draw new contributors to your project.
> >
> > * Post it to the project idea page and become a mentor.
> > * Let people know about GSoC on your project mailing list.
> >
> > I'd like to thank everyone in advance for helping with our GSoC 2013 
> > project.
> >
> > 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/groups/opt_out.
> 
> 


signature.asc
Description: Digital signature


Re: Google Summer of Code 2013

2013-02-16 Thread Daniel Solano Gómez
These sound like some good ideas.  Feel free to add a core.matrix
category to the project ideas page.

Thanks,

Daniel

On Sat Feb 16 01:02 2013, Mikera wrote:
> Awesome stuff!
> 
> core.matrix has a lot of great opportunities to work on something 
> meaningful, and I'd be happy to mentor one or more students in this area. 
> Top of my list would be:
> 
>  - Extending core.matrix support to Incanter (medium, needs collaboration 
> with Incanter team)
>  - A full NumPy style NDArray implementation in Clojure (large, quite 
> advanced)
>  - core.matrix support for data tables (e.g. database resultsets, 
> statistical datasets etc.) (medium)
> 
> Will post a proposal along these lines.
> 
> On Friday, 15 February 2013 02:03:58 UTC+8, Daniel Solano Gómez wrote:
> >
> > Hello, all,
> >
> > It's official:  Google Summer of Code 2013 is on.
> >
> > Last year, Clojure was able to get four students who worked on projects 
> > like Typed Clojure, Clojure on Android, Clojure and Lua, and Overtone, and 
> > I'd love to see Clojure be a mentoring organisation again this year.
> >
> > I have created a GSoC 2013 page on the Clojure community wiki <
> > http://dev.clojure.org/display/community/Google+Summer+of+Code+2013>. 
> >  Here you will be able to find the latest information about what's going on 
> > with Clojure's GSoC 2013 effort and how to get involved.
> >
> > Here's some ways you can help:
> >
> > * Let people in your local user groups or university know about Clojure 
> > and GSoC.
> > * If you're going to Clojure/West, attend the GSoC unsession.
> >
> > For students
> >
> > * Start researching project ideas and get involved with the relevant 
> > communities to find mentors.
> >
> > For developers:
> >
> > Does your open source project have a backlog of features to implement? 
> >  GSoC is a great way to draw new contributors to your project.
> >
> > * Post it to the project idea page and become a mentor.
> > * Let people know about GSoC on your project mailing list.
> >
> > I'd like to thank everyone in advance for helping with our GSoC 2013 
> > project.
> >
> > 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/groups/opt_out.
> 
> 


signature.asc
Description: Digital signature


Re: Why is this so difficult?

2013-02-16 Thread Jules
@Andy: I hadn't seen that page before, and it is excellent. It explains 
everything step-by-step and also gives key information, for example that it 
is not necessary to install leiningen manually because it comes with CCW. 
If possible, that guide should be featured prominently 
on http://code.google.com/p/counterclockwise/ and perhaps on clojure.org. 
That would solve 90% of the difficulty of installation I think. Even 
following that guide, CCW still won't run leiningen on my windows 7 system, 
but maybe that's an anomaly possibly caused by me messing up something 
during previous installation attempts.

-- 
-- 
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/groups/opt_out.




features expression

2013-02-16 Thread Mimmo Cosenza
Hi all,
the more I learn cli/cljs the more I find myself in looking for libraries 
running on both sides of a clojurean web app. hiccup/valip, c2, 
enliven/encofus, just to name few of them. 

Is there a kind of agreement on which approach to follow to solve the features  
expression problem. I already used the leon-cljsbuild workaround (i.e. 
:crossovers option) and cljx feature approach. 

I just read about feature expression problem here: 
http://dev.clojure.org/display/design/Feature+Expressions
The last discussion is dated july 2012. Cljs, by attracting people coming from 
the front-end side too and by freeing the back-end guys from js programming, is 
growing fast and my personal opinion is that there should be a move toward a 
decision regarding the sharing of code between cli and cljs. 

Is there any advance in this direction? 

My best

mimmo





-- 
-- 
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/groups/opt_out.




Re: [ClojureScript] features expression

2013-02-16 Thread David Nolen
I personally think the CL feature expression approach is satisfactory. I'd
like to see this get into 1.6. It's likely that ClojureScript will switch
to tools.reader in order to get more accurate information for source maps,
so perhaps we can move more quickly if we just implement it there.


On Sat, Feb 16, 2013 at 11:28 AM, Mimmo Cosenza wrote:

> Hi all,
> the more I learn cli/cljs the more I find myself in looking for libraries
> running on both sides of a clojurean web app. hiccup/valip, c2,
> enliven/encofus, just to name few of them.
>
> Is there a kind of agreement on which approach to follow to solve the
> features  expression problem. I already used the leon-cljsbuild workaround
> (i.e. :crossovers option) and cljx feature approach.
>
> I just read about feature expression problem here:
> http://dev.clojure.org/display/design/Feature+Expressions
> The last discussion is dated july 2012. Cljs, by attracting people coming
> from the front-end side too and by freeing the back-end guys from js
> programming, is growing fast and my personal opinion is that there should
> be a move toward a decision regarding the sharing of code between cli and
> cljs.
>
> Is there any advance in this direction?
>
> My best
>
> mimmo
>
>
>
>
>
>  --
> Note that posts from new members are moderated - please be patient with
> your first post.
> ---
> You received this message because you are subscribed to the Google Groups
> "ClojureScript" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojurescript+unsubscr...@googlegroups.com.
> To post to this group, send email to clojurescr...@googlegroups.com.
> Visit this group at http://groups.google.com/group/clojurescript?hl=en.
>
>
>

-- 
-- 
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/groups/opt_out.




Re: STM in Clojure vs Haskell, why no retry or orElse?

2013-02-16 Thread vemv
You can increase the chances of generating discussion by boiling down both 
the relevant content of paper and your program to a minimal, self-contained 
form.

Cheers - Victor

On Friday, February 15, 2013 4:05:09 PM UTC+1, thattommyhall wrote:
>
> A few months ago I reread Simon Peyton Joneses article on STM in the 
> Beautiful Code book and decided to try and translate it into clojures 
> STM 
>
> See the paper here http://research.microsoft.com/pubs/74063/beautiful.pdf 
>
> He says 'Atomic blocks as we have introduced them so far are utterly 
> inadequate to coordinate concurrent programs. They lack two key 
> facilities: blocking and choice' so I guess the implication is 
> Clojures STM is inferior, any thoughts? 
>
> I had to use a constraint on a ref and try/catch to get the same 
> effect (though I hate using exceptions for control flow it does seem 
> to work) 
>
> https://github.com/thattommyhall/santa-claus/blob/master/src/santa/core.clj 
>
> I think a better solution might be had using watchers, how would you do 
> it? 
> Any good links explaining differences in the STMs? 
>
> Cheers, 
> Tom 
>

-- 
-- 
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/groups/opt_out.




Re: [ClojureScript] features expression

2013-02-16 Thread Mimmo Cosenza
Hi David,
do you think that with some guidance from few cli/cljs gurus the effort could 
be shared with less experienced clojurist ? Or it's more efficient to let those 
gurus to make a step ahead by themselves?

mimmo

On Feb 16, 2013, at 5:53 PM, David Nolen  wrote:

> I personally think the CL feature expression approach is satisfactory. I'd 
> like to see this get into 1.6. It's likely that ClojureScript will switch to 
> tools.reader in order to get more accurate information for source maps, so 
> perhaps we can move more quickly if we just implement it there.
> 
> 
> On Sat, Feb 16, 2013 at 11:28 AM, Mimmo Cosenza  
> wrote:
> Hi all,
> the more I learn cli/cljs the more I find myself in looking for libraries 
> running on both sides of a clojurean web app. hiccup/valip, c2, 
> enliven/encofus, just to name few of them. 
> 
> Is there a kind of agreement on which approach to follow to solve the 
> features  expression problem. I already used the leon-cljsbuild workaround 
> (i.e. :crossovers option) and cljx feature approach. 
> 
> I just read about feature expression problem here: 
> http://dev.clojure.org/display/design/Feature+Expressions
> The last discussion is dated july 2012. Cljs, by attracting people coming 
> from the front-end side too and by freeing the back-end guys from js 
> programming, is growing fast and my personal opinion is that there should be 
> a move toward a decision regarding the sharing of code between cli and cljs. 
> 
> Is there any advance in this direction? 
> 
> My best
> 
> mimmo
> 
> 
> 
> 
> 
> 
> -- 
> Note that posts from new members are moderated - please be patient with your 
> first post.
> --- 
> You received this message because you are subscribed to the Google Groups 
> "ClojureScript" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to clojurescript+unsubscr...@googlegroups.com.
> To post to this group, send email to clojurescr...@googlegroups.com.
> Visit this group at http://groups.google.com/group/clojurescript?hl=en.
>  
>  
> 
> 
> -- 
> Note that posts from new members are moderated - please be patient with your 
> first post.
> --- 
> You received this message because you are subscribed to the Google Groups 
> "ClojureScript" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to clojurescript+unsubscr...@googlegroups.com.
> To post to this group, send email to clojurescr...@googlegroups.com.
> Visit this group at http://groups.google.com/group/clojurescript?hl=en.
>  
>  

-- 
-- 
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/groups/opt_out.




Re: [ClojureScript] features expression

2013-02-16 Thread David Nolen
I've only glanced at it but Roman's patch looks pretty straightforward, it
should be pretty simple to port to tools.reader if the tools.reader folks
are OK with this approach.

I think the reason it has stalled is that there been some pushback on that
design thread. I don't really share any of the concerns nor like any of the
alternate designs expressed there. Feature Expression are simple, have
worked well for CL, and require minimal amount of effort to implement. The
kinds of hacks that are being used due to the lack of Feature Expression
the wild are needlessly complex and the sooner we have something the better.

I wrote the last email pretty quickly - we would need those patches
accepted into 1.6 for this to work. I have spoken to Rich briefly in person
about this at TechMesh and he didn't seem to share the concerns expressed
in the design thread either. So my fingers are crossed that 1.6 arrives
fairly quickly with Feature Expression support.

Probably the best thign to do would be to move Roman's CLJ patch to a CLJ
JIRA patch and vote it up.


On Sat, Feb 16, 2013 at 12:16 PM, Mimmo Cosenza wrote:

> Hi David,
> do you think that with some guidance from few cli/cljs gurus the effort
> could be shared with less experienced clojurist ? Or it's more efficient to
> let those gurus to make a step ahead by themselves?
>
> mimmo
>
> On Feb 16, 2013, at 5:53 PM, David Nolen  wrote:
>
> I personally think the CL feature expression approach is satisfactory. I'd
> like to see this get into 1.6. It's likely that ClojureScript will switch
> to tools.reader in order to get more accurate information for source maps,
> so perhaps we can move more quickly if we just implement it there.
>
>
> On Sat, Feb 16, 2013 at 11:28 AM, Mimmo Cosenza 
> wrote:
>
>> Hi all,
>> the more I learn cli/cljs the more I find myself in looking for libraries
>> running on both sides of a clojurean web app. hiccup/valip, c2,
>> enliven/encofus, just to name few of them.
>>
>> Is there a kind of agreement on which approach to follow to solve the
>> features  expression problem. I already used the leon-cljsbuild workaround
>> (i.e. :crossovers option) and cljx feature approach.
>>
>> I just read about feature expression problem here:
>> http://dev.clojure.org/display/design/Feature+Expressions
>> The last discussion is dated july 2012. Cljs, by attracting people coming
>> from the front-end side too and by freeing the back-end guys from js
>> programming, is growing fast and my personal opinion is that there should
>> be a move toward a decision regarding the sharing of code between cli and
>> cljs.
>>
>> Is there any advance in this direction?
>>
>> My best
>>
>> mimmo
>>
>>
>>
>>
>>
>>
>> --
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "ClojureScript" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to clojurescript+unsubscr...@googlegroups.com.
>> To post to this group, send email to clojurescr...@googlegroups.com.
>> Visit this group at http://groups.google.com/group/clojurescript?hl=en.
>>
>>
>>
>
>
> --
> Note that posts from new members are moderated - please be patient with
> your first post.
> ---
> You received this message because you are subscribed to the Google Groups
> "ClojureScript" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojurescript+unsubscr...@googlegroups.com.
> To post to this group, send email to clojurescr...@googlegroups.com.
> Visit this group at http://groups.google.com/group/clojurescript?hl=en.
>
>
>
>
>  --
> Note that posts from new members are moderated - please be patient with
> your first post.
> ---
> You received this message because you are subscribed to the Google Groups
> "ClojureScript" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojurescript+unsubscr...@googlegroups.com.
> To post to this group, send email to clojurescr...@googlegroups.com.
> Visit this group at http://groups.google.com/group/clojurescript?hl=en.
>
>
>

-- 
-- 
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/groups/opt_out.




Re: [ClojureScript] features expression

2013-02-16 Thread Thomas Heller
Oh, yes please. This looks very interesting.

Where can I vote? :P

The more CLJ/CLJS code I write the more I miss a straightforward way to 
share code. Even with cljx or cljsbuild crossovers its still a workarround.



On Saturday, February 16, 2013 7:20:45 PM UTC+1, David Nolen wrote:
>
> I've only glanced at it but Roman's patch looks pretty straightforward, it 
> should be pretty simple to port to tools.reader if the tools.reader folks 
> are OK with this approach.
>
> I think the reason it has stalled is that there been some pushback on that 
> design thread. I don't really share any of the concerns nor like any of the 
> alternate designs expressed there. Feature Expression are simple, have 
> worked well for CL, and require minimal amount of effort to implement. The 
> kinds of hacks that are being used due to the lack of Feature Expression 
> the wild are needlessly complex and the sooner we have something the better.
>
> I wrote the last email pretty quickly - we would need those patches 
> accepted into 1.6 for this to work. I have spoken to Rich briefly in person 
> about this at TechMesh and he didn't seem to share the concerns expressed 
> in the design thread either. So my fingers are crossed that 1.6 arrives 
> fairly quickly with Feature Expression support.
>
> Probably the best thign to do would be to move Roman's CLJ patch to a CLJ 
> JIRA patch and vote it up.
>
>
> On Sat, Feb 16, 2013 at 12:16 PM, Mimmo Cosenza 
> 
> > wrote:
>
>> Hi David,
>> do you think that with some guidance from few cli/cljs gurus the effort 
>> could be shared with less experienced clojurist ? Or it's more efficient to 
>> let those gurus to make a step ahead by themselves?
>>
>> mimmo
>>
>> On Feb 16, 2013, at 5:53 PM, David Nolen > 
>> wrote:
>>
>> I personally think the CL feature expression approach is satisfactory. 
>> I'd like to see this get into 1.6. It's likely that ClojureScript will 
>> switch to tools.reader in order to get more accurate information for source 
>> maps, so perhaps we can move more quickly if we just implement it there.
>>
>>
>> On Sat, Feb 16, 2013 at 11:28 AM, Mimmo Cosenza 
>> 
>> > wrote:
>>
>>> Hi all,
>>> the more I learn cli/cljs the more I find myself in looking for 
>>> libraries running on both sides of a clojurean web app. hiccup/valip, c2, 
>>> enliven/encofus, just to name few of them. 
>>>
>>> Is there a kind of agreement on which approach to follow to solve the 
>>> features  expression problem. I already used the leon-cljsbuild workaround 
>>> (i.e. :crossovers option) and cljx feature approach. 
>>>
>>> I just read about feature expression problem here: 
>>> http://dev.clojure.org/display/design/Feature+Expressions
>>> The last discussion is dated july 2012. Cljs, by attracting people 
>>> coming from the front-end side too and by freeing the back-end guys from js 
>>> programming, is growing fast and my personal opinion is that there should 
>>> be a move toward a decision regarding the sharing of code between cli and 
>>> cljs. 
>>>
>>> Is there any advance in this direction? 
>>>
>>> My best
>>>
>>> mimmo
>>>
>>>
>>>
>>>
>>>
>>>
>>> -- 
>>> Note that posts from new members are moderated - please be patient with 
>>> your first post.
>>> --- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "ClojureScript" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to clojurescrip...@googlegroups.com .
>>> To post to this group, send email to clojur...@googlegroups.com
>>> .
>>> Visit this group at http://groups.google.com/group/clojurescript?hl=en.
>>>  
>>>  
>>>
>>
>>
>> -- 
>> Note that posts from new members are moderated - please be patient with 
>> your first post.
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "ClojureScript" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to clojurescrip...@googlegroups.com .
>> To post to this group, send email to clojur...@googlegroups.com
>> .
>> Visit this group at http://groups.google.com/group/clojurescript?hl=en.
>>  
>>  
>>
>>
>>  -- 
>> Note that posts from new members are moderated - please be patient with 
>> your first post.
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "ClojureScript" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to clojurescrip...@googlegroups.com .
>> To post to this group, send email to clojur...@googlegroups.com
>> .
>> Visit this group at http://groups.google.com/group/clojurescript?hl=en.
>>  
>>  
>>
>
>

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

Re: Questions regarding lazy sequence processing

2013-02-16 Thread Steven Yi
Hi Herwig,

Thanks for the reply!  I think I had tried that before and I tried again 
just now but it gives a problem of arity:

CompilerException java.lang.RuntimeException: Can't have fixed arity 
function with more params than variadic function, 
compiling:(audio_seq/core.clj:42) 

which makes sense.  Using apply map though does simplify it a bit:

(defn amix
  ([] [])
  ([& a] 
 (let [len (count a)]
   (if (= len 1)
 (first a)
 (apply map + a)

and that is working rather nicely, thanks!  

I spent a couple hours today trying to work on performance of the code and 
it's unfortunately very poor at the moment.  Doing a lot of number 
crunching with lazy sequences, while elegant, seems to be not very 
performant. I think I need to learn a bit more about Clojure and perhaps 
rethink my design strategy for this work.

Thanks again!
steven




On Saturday, February 16, 2013 1:35:14 AM UTC, Herwig Hochleitner wrote:
>
> Sorry, hit the wrong key early. This version handles the one arg case 
> efficiently:
>
> (defn amix 
>   ([a] a)
>   ([& as]
> (apply map + as)))
>
>
> 2013/2/16 Herwig Hochleitner >
>
>> To your first question: How about
>>
>> (defn amix 
>> [& a]
>>   (apply map + a))
>>
>>
>>
>> 2013/2/16 Steven Yi >
>>
>>> Hi All,
>>>
>>> I'm fairly new to Clojure (enjoying it very much!) and had a couple 
>>> questions regarding lazy sequences.  
>>>
>>> 1. With a sequence of sequences, I want to reduce the sequences down 
>>> into a single sequence.  So, the heads of all the sequences gets reduced, 
>>> then the next items, etc.  The end result would also be a lazy sequence. 
>>>  Right now I have this code that is working, but I wasn't sure if there's 
>>> some other way that might be clearer:
>>>
>>> (defn amix
>>>   ([] [])
>>>   ([& a]
>>>  (let [len (count a)]
>>>(if (= len 1)
>>>  (first a)
>>>  (map #(reduce + %) (partition len (apply interleave a)))
>>>
>>>
>>> 2. I'm planning to have a number of sequence transforming functions. 
>>>  Most will probably have this shape:
>>>
>>> (defn some-func [arg1 arg2 xs]
>>>   (map #(some code...) xs))
>>>
>>> This would be so I could consume a lazy sequence xs, operate on it, then 
>>> output a lazy sequence.  I thought I might write a macro to simplify this 
>>> and have the function do its own lazy-seq and recursive call to itself, 
>>> rather than go through map (figured it might save some call overhead, and 
>>> simplify the macro writing, but am still a bit new with this).  I imagine 
>>> this should work fine, but is this kind of thing already encapsulated 
>>> somewhere?
>>>
>>> Thanks!
>>> steven
>>>
>>>  -- 
>>> -- 
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To post to this group, send email to clo...@googlegroups.com
>>> Note that posts from new members are moderated - please be patient with 
>>> your first post.
>>> To unsubscribe from this group, send email to
>>> clojure+u...@googlegroups.com 
>>> For more options, visit this group at
>>> http://groups.google.com/group/clojure?hl=en
>>> --- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "Clojure" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to clojure+u...@googlegroups.com .
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>  
>>>  
>>>
>>
>>
>

-- 
-- 
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/groups/opt_out.




Re: Using Friend with an AccountChooser

2013-02-16 Thread Timothy Washington
Hey, so I got this kind of figured out. I'll post my results here, in the
hope that it helps someone; and for future reference.

Using *friend*, the library seems to assume that you will be using it for *
authentication* and *authorization*. I just need it for the
*authorization*bits, and had to dig into its internal data
assumptions. Please correct me
if I'm wrong in any of this.

I currently, use the raw f*riend/authorized?* function. It assumes you have
a user map that has these elements:

{
  :current *::i-assume-inserted-by-friends-authentication*
  :authentications {
*::**i-assume-**inserted-by-friends-authentication* { :roles #{ ::admin
::user } }
  }

  :uname ...
  :etc ...
}


So now, if I call *(friend/authorized? ∈{ ::user } my-user-map)*, it will
yank out the :current :authentications, and loop on something like below.
>From this, you should get the result (::user) .

(for  [granted '(::user ::admin)
required '(::user)
 :when (isa? granted required)
   ]
   granted
)



So the moral of the story seems to be: If you don't use friend's
authorization, when creating a new user, include a structure like below.
And I assume the :current entry is inserted on login. Then you can test if
a user is authorized, by passing in a set with one of those roles in
"thing".

{
  :current ::thing
  :authentications {
::thing { :roles #{ ::admin ::user } }
  }
}



HTH
Tim


On Wed, Feb 13, 2013 at 6:10 PM, Timothy Washington wrote:

> Hi there,
>
> I have a webapp that's using Google's Gitkit 
> v1implementation of an
> AccountChooser .
>
> The pattern is that the Gitkit tool provides i) a button, then ii)
> functional completion of the authentication handshake between the user and
> their Identity Provider (IDP). From there, my existing code iii) implements
> a callbackHandler that takes the IDP response and iv) verifies it with
> another Google service. This is all to say that the user will be
> authenticated before they really begin to use the application proper.
>
> So now I take step iv's verify response and v) adds the user if nil and
> iv) puts that user has into a ring (w/ lib-noir) stateful-session
>
> Friend seems to assume that it will handle the authentication, as well as
> authorization. My question is, how can I use Friend to access that current
> user hash after it's been put in the ring/lib-noir stateful session? If if
> that's a no-no, where, in the previous workflow, can I use Friend to
> intercept Gitkit's ( or an accountchooser's ) callback function? Hope this
> was all clear. Any insights appreciated.
>
>
> Thanks in advance
>
> Tim Washington
> Interruptsoftware.ca
>
>

-- 
-- 
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/groups/opt_out.




[ANN] ring-filter-routes 0.1.1 ;simple route filtering middleware

2013-02-16 Thread Omer Iqbal
Would love some feedback. I used this code in another project, and decided
to publish the (very simple) middleware as a clojar in case someone else
finds it useful.
Cheers,
Omer

-- 
-- 
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/groups/opt_out.




[ANN] ClojureScript release 0.0-1586

2013-02-16 Thread Stuart Sierra
Coming soon to a Maven repository near you:

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

List of changes:
http://build.clojure.org/job/clojurescript-release/22/

Notable change: fix for CLJS-418, the broken dependency chain between the
Google Closure Library and its third-party extensions. ClojureScript's
dependency tree now includes the third-party extensions by default.

-S

-- 
-- 
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/groups/opt_out.




Using local jar

2013-02-16 Thread Jarod
Hi.  This is a really basic question, as I'm new to Clojure and Java.  I'm 
trying to use a jar file for Stanford's NLP software that isn't available 
on Maven.  I successfully ran the commands from this website:

www.pgrs.net/2011/10/30/using-local-jars-with-leiningen/

to create a local maven repository, but how do I access the methods in the 
jar now?  I created a project using leiningen with eclipse and 
counterclockwise and I add the following to core.clj in the src directory 
to import the jar:

(import 'stanford-corenlp)

where stanford-corenlp is the name of the directory in the local maven 
repository.  However, I get the error:

ClassNotFoundException stanford-corenlp  java.net.URLClassLoader$1.run 
(URLClassLoader.java:217)

Thanks in advance for your help.

-- 
-- 
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/groups/opt_out.




Understanding nested quotes for game-action clojure macro from http://lisperati.planvita.com/actions.html

2013-02-16 Thread Iakiv Kramarenko
I have read the "casting SPELs" tutorial, its russian version adapted for 
clojure athttp://lisperati.planvita.com/... And up to this time I can't 
understand how the following macro works: (see
http://lisperati.planvita.com/actions.html for russian version or 
http://lisperati.com/actions.html for original one for Lisp):


  `(defspel ~command [subject# object#]
 `(spel-print (cond (and (= location '~'~place)
 (= '~subject# '~'~subj)
 (= '~object# '~'~obj)
 (have? '~'~subj))
~@'~args
:else '(i cannot ~'~command like that -)


It is is used further like:

(game-action weld chain bucket attic
   (cond (and (have? 'bucket) (def chain-welded true))
  '(the chain is now securely welded to the bucket -)
 :else '(you do not have a bucket -)))


(game-action dunk bucket well garden
 (cond chain-welded 
   (do (def bucket-filled true)
   '(the bucket is now full of water))
   :else '(the water level is too low to reach -)))


Here defspel - is just an alias for defmacro.
The reason to create the macro was to substitue the following functions:

(defn weld [subject object]
  (cond (and (= location 'attic)
 (= subject 'chain)
 (= object 'bucket)
 (have? 'chain)
 (have? 'bucket)
 (not chain-welded))
(do (def chain-welded true)
'(the chain is now securely welded to the bucket -))
:else '(you cannot weld like that -)))

(defn dunk [subject object]
  (cond (and (= location 'garden)
 (= subject 'bucket)
 (= object 'well)
 (have? 'bucket)
 chain-welded)
(do (def bucket-filled true)
'(the bucket is now full of water))
:else '(you cannot dunk like that -)))


 am completely confused with how this "game-action" macro works... *Can 
anybody explain me all things (nested quotes) about it?*

I have already read the following article - 
http://blog.8thlight.com/colin-jones/2012/05/22/quoting-without-confusion.html 
- 
it did not help...

macroexpand-1 scares me too...
This is its output for the weld game-action:

(clojure-magic-game.core/defspel weld [subject__1058__auto__ 
object__1059__auto__] (clojure.core/seq (clojure.core/concat 
(clojure.core/list (quote clojure-magic-game.core/spel-print)) 
(clojure.core/list (clojure.core/seq (clojure.core/concat 
(clojure.core/list (quote clojure.core/cond)) (clojure.core/list 
(clojure.core/seq (clojure.core/concat (clojure.core/list (quote 
clojure.core/and)) (clojure.core/list (clojure.core/seq 
(clojure.core/concat (clojure.core/list (quote clojure.core/=)) 
(clojure.core/list (quote clojure-magic-game.core/location)) 
(clojure.core/list (clojure.core/seq (clojure.core/concat 
(clojure.core/list (quote quote)) (clojure.core/list (quote attic 
(clojure.core/list (clojure.core/seq (clojure.core/concat 
(clojure.core/list (quote clojure.core/=)) (clojure.core/list 
(clojure.core/seq (clojure.core/concat (clojure.core/list (quote quote)) 
(clojure.core/list subject__1058__auto__ (clojure.core/list 
(clojure.core/seq (clojure.core/concat (clojure.core/list (quote quote)) 
(clojure.core/list (quote chain (clojure.core/list 
(clojure.core/seq (clojure.core/concat (clojure.core/list (quote 
clojure.core/=)) (clojure.core/list (clojure.core/seq (clojure.core/concat 
(clojure.core/list (quote quote)) (clojure.core/list 
object__1059__auto__ (clojure.core/list (clojure.core/seq 
(clojure.core/concat (clojure.core/list (quote quote)) (clojure.core/list 
(quote bucket (clojure.core/list (clojure.core/seq 
(clojure.core/concat (clojure.core/list (quote 
clojure-magic-game.core/have?)) (clojure.core/list (clojure.core/seq 
(clojure.core/concat (clojure.core/list (quote quote)) (clojure.core/list 
(quote chain))) (quote ((cond (and (have? (quote bucket)) (def 
chain-welded true)) (quote (the chain is now securely welded to the bucket 
-)) :else (quote (you do not have a bucket -) (clojure.core/list :else) 
(clojure.core/list (clojure.core/seq (clojure.core/concat 
(clojure.core/list (quote quote)) (clojure.core/list (clojure.core/seq 
(clojure.core/concat (clojure.core/list (quote clojure-magic-game.core/i)) 
(clojure.core/list (quote clojure-magic-game.core/cannot)) 
(clojure.core/list (quote weld)) (clojure.core/list (quote 
clojure-magic-game.core/like)) (clojure.core/list (quote 
clojure-magic-game.core/that)) (clojure.core/list (quote 
clojure.core/-))
Even if to remove all namespaces and indent the output It will still look 
too complicated to understand for me:

(defspel weld [subject__1058__auto__ object__1059__auto__] 
  (seq (concat 
 (list (quote spel-print)) 
 (list (seq (concat 
  (list (quote cond)) 
  

Re: Using local jar

2013-02-16 Thread James Xu
you should import the fully-qualified class name(e.g.
com.mycompany.ClassA), rather than the file system directory name

发自我的 iPhone

在 2013-2-17,7:06,Jarod  写道:

Hi.  This is a really basic question, as I'm new to Clojure and Java.  I'm
trying to use a jar file for Stanford's NLP software that isn't available
on Maven.  I successfully ran the commands from this website:

www.pgrs.net/2011/10/30/using-local-jars-with-leiningen/

to create a local maven repository, but how do I access the methods in the
jar now?  I created a project using leiningen with eclipse and
counterclockwise and I add the following to core.clj in the src directory
to import the jar:

(import 'stanford-corenlp)

where stanford-corenlp is the name of the directory in the local maven
repository.  However, I get the error:

ClassNotFoundException stanford-corenlp  java.net.URLClassLoader$1.run
(URLClassLoader.java:217)

Thanks in advance for your help.

-- 
-- 
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/groups/opt_out.

-- 
-- 
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/groups/opt_out.




Re: abstraction on two libraries

2013-02-16 Thread Stuart Sierra
Yeah, it's not worth the effort.

IF you were going to attempt it, you'd want to define a protocol (or 
multimethods) for the common features that both libraries provide, then 
provide different implementations of those protocols using each library. 
But what's the point, especially if they both wrap the same underlying 
system? You've just written a lot of complicated code that doesn't provide 
much value.

-S


On Wednesday, February 13, 2013 2:30:40 PM UTC-5, Zack Maril wrote:
>
> To do that from scratch would probably be pretty hard and not worth the 
> effort. It would be an interesting learning experience, but for building 
> something significant, I would recommend selecting one of the libraries and 
> just sticking with that one at first. Hermes and Titanium are both wrappers 
> around Titan, so they should in theory play nice, but I cannot make 
> any guarantees about that. Effectively, you would be creating a third 
> library wrapping two wrappers. 
> -Zack
>
>
> On Wednesday, February 13, 2013 8:30:06 PM UTC+4, AtKaaZ wrote:
>>
>> Hi.
>>  Suppose you want to make an abstraction on top of two similar but 
>> different libraries (hermes and titanium), so that I could switch between 
>> using either of them(or both of them) at compiletime or runtime, how would 
>> you do something like that?
>>
>> Thanks.
>>
>> -- 
>> Please correct me if I'm wrong or incomplete,
>> even if you think I'll subconsciously hate 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/groups/opt_out.




Re: Using local jar

2013-02-16 Thread Aaron Cohen
I'm not sure if this is your problem, but a newbie might not realize one
thing from that blog post.

After doing all the steps there, you still have to add the dependency for
that artifact in your project.clj

I don't know how you named your local jar, but for their example you would
need to add

:dependencies [

[jaad/jaad "0.8.3"]]


On Sat, Feb 16, 2013 at 6:00 PM, Jarod  wrote:

> Hi.  This is a really basic question, as I'm new to Clojure and Java.  I'm
> trying to use a jar file for Stanford's NLP software that isn't available
> on Maven.  I successfully ran the commands from this website:
>
> www.pgrs.net/2011/10/30/using-local-jars-with-leiningen/
>
> to create a local maven repository, but how do I access the methods in the
> jar now?  I created a project using leiningen with eclipse and
> counterclockwise and I add the following to core.clj in the src directory
> to import the jar:
>
> (import 'stanford-corenlp)
>
> where stanford-corenlp is the name of the directory in the local maven
> repository.  However, I get the error:
>
> ClassNotFoundException stanford-corenlp  java.net.URLClassLoader$1.run
> (URLClassLoader.java:217)
>
> Thanks in advance for your help.
>
> --
> --
> 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/groups/opt_out.
>
>
>

-- 
-- 
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/groups/opt_out.




Re: Using local jar

2013-02-16 Thread Aaron Cohen
Also, reading further on the blog, for lein2 you need to change


mvn install:install-file -Dfile=jaad-0.8.3.jar -DartifactId=jaad
-Dversion=0.8.3 -DgroupId=jaad -Dpackaging=jar
-DlocalRepositoryPath=maven_repository


to

mvn deploy:deploy-file -Dfile=jaad-0.8.3.jar -DartifactId=jaad
-Dversion=0.8.3 -DgroupId=jaad -Dpackaging=jar
-Durl=file:maven_repository



On Sat, Feb 16, 2013 at 7:13 PM, Aaron Cohen  wrote:

> I'm not sure if this is your problem, but a newbie might not realize one
> thing from that blog post.
>
> After doing all the steps there, you still have to add the dependency for
> that artifact in your project.clj
>
> I don't know how you named your local jar, but for their example you would
> need to add
>
> :dependencies [
> 
> [jaad/jaad "0.8.3"]]
>
>
> On Sat, Feb 16, 2013 at 6:00 PM, Jarod  wrote:
>
>> Hi.  This is a really basic question, as I'm new to Clojure and Java.
>>  I'm trying to use a jar file for Stanford's NLP software that isn't
>> available on Maven.  I successfully ran the commands from this website:
>>
>> www.pgrs.net/2011/10/30/using-local-jars-with-leiningen/
>>
>> to create a local maven repository, but how do I access the methods in
>> the jar now?  I created a project using leiningen with eclipse and
>> counterclockwise and I add the following to core.clj in the src directory
>> to import the jar:
>>
>> (import 'stanford-corenlp)
>>
>> where stanford-corenlp is the name of the directory in the local maven
>> repository.  However, I get the error:
>>
>> ClassNotFoundException stanford-corenlp  java.net.URLClassLoader$1.run
>> (URLClassLoader.java:217)
>>
>> Thanks in advance for your help.
>>
>> --
>> --
>> 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/groups/opt_out.
>>
>>
>>
>
>

-- 
-- 
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/groups/opt_out.




Re: [ANN] ring-filter-routes 0.1.1 ;simple route filtering middleware

2013-02-16 Thread Timothy Washington
Is it on github or clojars? Where can we take a look at the code?


Thanks
Tim


On Sat, Feb 16, 2013 at 3:53 PM, Omer Iqbal  wrote:

> Would love some feedback. I used this code in another project, and decided
> to publish the (very simple) middleware as a clojar in case someone else
> finds it useful.
> Cheers,
> Omer
>
>  --
> --
> 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/groups/opt_out.
>
>
>

-- 
-- 
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/groups/opt_out.




Re: [ANN] ClojureScript release 0.0-1586

2013-02-16 Thread David Nolen
Sweet! Thank you!

On Saturday, February 16, 2013, Stuart Sierra wrote:

> Coming soon to a Maven repository near you:
>
> [org.clojure/clojurescript "0.0-1586"]
>
> List of changes:
> http://build.clojure.org/job/clojurescript-release/22/
>
> Notable change: fix for CLJS-418, the broken dependency chain between the
> Google Closure Library and its third-party extensions. ClojureScript's
> dependency tree now includes the third-party extensions by default.
>
> -S
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Clojure Dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure-dev+unsubscr...@googlegroups.com  'cvml', 'clojure-dev%2bunsubscr...@googlegroups.com');>.
> To post to this group, send email to 
> clojure-...@googlegroups.com 'clojure-...@googlegroups.com');>
> .
> Visit this group at http://groups.google.com/group/clojure-dev?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
-- 
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/groups/opt_out.




Re: [ANN] ring-filter-routes 0.1.1 ;simple route filtering middleware

2013-02-16 Thread Omer Iqbal
Oh my bad, forgot to add the link:
https://github.com/olenhad/ring-filter-routes
Its on both :)

On Sun, Feb 17, 2013 at 8:56 AM, Timothy Washington wrote:

> Is it on github or clojars? Where can we take a look at the code?
>
>
> Thanks
> Tim
>
>
> On Sat, Feb 16, 2013 at 3:53 PM, Omer Iqbal  wrote:
>
>> Would love some feedback. I used this code in another project, and
>> decided to publish the (very simple) middleware as a clojar in case someone
>> else finds it useful.
>> Cheers,
>> Omer
>>
>>  --
>> --
>> 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/groups/opt_out.
>>
>>
>>
>
>  --
> --
> 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/groups/opt_out.
>
>
>

-- 
-- 
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/groups/opt_out.




Re: Why is this so difficult?

2013-02-16 Thread Bizics
@Andy: Talk about unfortunate naming !!  
clojuredocs.org vs. clojure-doc.org
There is a site called "clojure-doc.org" ??
And it has some excellent documentation?
I just read their CCW guide - it is excellent and would have saved me so 
much frustration but I had no idea the site existed.

"clojuredocs.org" is the goto site for example usage of clojure functions.
And it is referenced from clojure.org under Documentation.

Any idea why clojure-doc.org is not mentioned under Documentation on 
clojure.org?

Maybe clojure-guides.org might be a better name?


On Saturday, February 16, 2013 5:48:13 AM UTC-8, Jules wrote:
>
> @Andy: I hadn't seen that page before, and it is excellent. It explains 
> everything step-by-step and also gives key information, for example that it 
> is not necessary to install leiningen manually because it comes with CCW. 
> If possible, that guide should be featured prominently on 
> http://code.google.com/p/counterclockwise/ and perhaps on clojure.org. 
> That would solve 90% of the difficulty of installation I think. Even 
> following that guide, CCW still won't run leiningen on my windows 7 system, 
> but maybe that's an anomaly possibly caused by me messing up something 
> during previous installation attempts.
>

-- 
-- 
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/groups/opt_out.




Re: new, macros and "Can't eval locals"

2013-02-16 Thread Jacob Goodson
You need to know something... it's a dialect of LISP, the only limitation 
is you.

On Thursday, February 14, 2013 5:08:57 PM UTC-5, AtKaaZ wrote:
>
> Thank you! I didn't know you could do .newInstance
>
> oh that's a nice trick with eval and list 'new
>
> So it's not impossible after all, thanks Aaron!
> Here's what I got from what you said:
> => *(defmacro mew [cls & restt]
>`(eval (list 'new ~cls ~@restt))
>  )*
> #'runtime.q/mew
> => *(let [a java.lang.RuntimeException]
>(mew a)
>  )*
> #
>
> it makes sense now, using eval at runtime not at compile time as I was 
> trying
>
> and also the newInstance variant:
> => *(defmacro mew [cls & restt]
>`(.newInstance ~cls ~@restt)
>  )*
> #'runtime.q/mew
> => *(let [a java.lang.RuntimeException]
>(mew a)
>  )*
> #
>
>
> Really, thank you Aaron, 
>
>
> On Thu, Feb 14, 2013 at 11:02 PM, Aaron Cohen 
> 
> > wrote:
>
>> Yes, since this is runtime you should use reflection.
>>
>> (let [a java.lang.RuntimeException]
>>(.newInstance a))
>>
>> Alternatively, you can use eval:
>>
>> (let [a java.lang.RuntimeException]
>>   (eval (list 'new a)))
>>
>>
>> On Thu, Feb 14, 2013 at 4:53 PM, AtKaaZ > >wrote:
>>
>>> I figure since new is expecting a class at compiletime, we can never 
>>> pass it a class that we evaluate at runtime(those locals), ergo => 
>>> impossible to macro around "new" like that
>>>
>>> like this => impossible:
>>> *(let [a java.lang.RuntimeException]
>>>  (macro-that-eventually-calls-new a))*
>>>
>>> maybe someone could suggest another way? clojure.reflect ?
>>>
>>>
>>>
>>> On Thu, Feb 14, 2013 at 10:40 PM, AtKaaZ 
>>> > wrote:
>>>
 thanks for the reply,

 => *(defmacro mew [cls & args]
  `(new ~cls ~@args))*
 #'runtime.q/mew
 =>* (let [a java.lang.RuntimeException]
  (mew a)
  )*

 CompilerException java.lang.IllegalArgumentException: Unable to resolve 
 classname: a, compiling:(NO_SOURCE_PATH:2:3) 

 that would be the equivalent macro of what *new* is doing
 it's like
 *(new a)*
 CompilerException java.lang.IllegalArgumentException: Unable to resolve 
 classname: a, compiling:(NO_SOURCE_PATH:2:3) 


 This is the goal:

 The goal is to can write this form:
 =>  *(let [a java.lang.RuntimeException]
  (new a))*

 but I think it's impossible, at least by using "new" it is


 On Thu, Feb 14, 2013 at 10:34 PM, Andy Fingerhut 
 
 > wrote:

>
> On Feb 14, 2013, at 1:27 PM, AtKaaZ wrote:
>
> The goal is to can write this form:
> => *(let [a java.lang.RuntimeException]
>  (new a)
>  )*
> CompilerException java.lang.IllegalArgumentException: Unable to 
> resolve classname: a, compiling:(NO_SOURCE_PATH:2:3) 
>
> attempt with macro:
> =>* (defmacro mew [cls & restt]
>  `(new ~(eval cls) ~@restt)
>  )*
> #'runtime.q/mew
>
>
> This is probably your closest attempt.  Try this variation on the 
> above:
>
> (defmacro mew [cls & args]
>   `(new ~cls ~@args))
>
> user=> (macroexpand-1 '(mew java.lang.RuntimeException))
> (new java.lang.RuntimeException)
>
> Andy
>
>  -- 
> -- 
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clo...@googlegroups.com
> Note that posts from new members are moderated - please be patient 
> with your first post.
> To unsubscribe from this group, send email to
> clojure+u...@googlegroups.com 
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> --- 
> You received this message because you are subscribed to the Google 
> Groups "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send 
> an email to clojure+u...@googlegroups.com .
> For more options, visit https://groups.google.com/groups/opt_out.
>  
>  
>



 -- 
 Please correct me if I'm wrong or incomplete,
 even if you think I'll subconsciously hate it.

  
>>>
>>>
>>> -- 
>>> Please correct me if I'm wrong or incomplete,
>>> even if you think I'll subconsciously hate it.
>>>
>>>  -- 
>>> -- 
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To post to this group, send email to clo...@googlegroups.com
>>> Note that posts from new members are moderated - please be patient with 
>>> your first post.
>>> To unsubscribe from this group, send email to
>>> clojure+u...@googlegroups.com 
>>> For more options, visit this group at
>>> http://groups.google.com/group/clojure?hl=en
>>> --- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "Clojure" group.
>>> To unsubscribe from this group and stop receiving emails from it, s

Re: new, macros and "Can't eval locals"

2013-02-16 Thread AtKaaZ
On Sun, Feb 17, 2013 at 6:12 AM, Jacob Goodson
wrote:

> You need to know something... it's a dialect of LISP, *the only*limitation is 
> you.

though it is certainly exerting its limitations on me



>
>
> On Thursday, February 14, 2013 5:08:57 PM UTC-5, AtKaaZ wrote:
>
>> Thank you! I didn't know you could do .newInstance
>>
>> oh that's a nice trick with eval and list 'new
>>
>> So it's not impossible after all, thanks Aaron!
>> Here's what I got from what you said:
>> => *(defmacro mew [cls & restt]
>>`(eval (list 'new ~cls ~@restt))
>>  )*
>> #'runtime.q/mew
>> => *(let [a java.lang.RuntimeException]
>>(mew a)
>>  )*
>> #
>>
>> it makes sense now, using eval at runtime not at compile time as I was
>> trying
>>
>> and also the newInstance variant:
>> => *(defmacro mew [cls & restt]
>>`(.newInstance ~cls ~@restt)
>>  )*
>> #'runtime.q/mew
>> => *(let [a java.lang.RuntimeException]
>>(mew a)
>>  )*
>> #
>>
>>
>> Really, thank you Aaron,
>>
>>
>> On Thu, Feb 14, 2013 at 11:02 PM, Aaron Cohen wrote:
>>
>>> Yes, since this is runtime you should use reflection.
>>>
>>> (let [a java.lang.RuntimeException]
>>>(.newInstance a))
>>>
>>> Alternatively, you can use eval:
>>>
>>> (let [a java.lang.RuntimeException]
>>>   (eval (list 'new a)))
>>>
>>>
>>> On Thu, Feb 14, 2013 at 4:53 PM, AtKaaZ  wrote:
>>>
 I figure since new is expecting a class at compiletime, we can never
 pass it a class that we evaluate at runtime(those locals), ergo =>
 impossible to macro around "new" like that

 like this => impossible:
 *(let [a java.lang.RuntimeException]
  (macro-that-eventually-calls-new a))*

 maybe someone could suggest another way? clojure.reflect ?



 On Thu, Feb 14, 2013 at 10:40 PM, AtKaaZ  wrote:

> thanks for the reply,
>
> => *(defmacro mew [cls & args]
>  `(new ~cls ~@args))*
> #'runtime.q/mew
> =>* (let [a java.lang.RuntimeException]
>  (mew a)
>  )*
>
> CompilerException java.lang.**IllegalArgumentException: Unable to
> resolve classname: a, compiling:(NO_SOURCE_PATH:2:3)
>
> that would be the equivalent macro of what *new* is doing
> it's like
> *(new a)*
> CompilerException java.lang.**IllegalArgumentException: Unable to
> resolve classname: a, compiling:(NO_SOURCE_PATH:2:3)
>
>
> This is the goal:
>
> The goal is to can write this form:
> =>  *(let [a java.lang.RuntimeException]
>  (new a))*
>
> but I think it's impossible, at least by using "new" it is
>
>
> On Thu, Feb 14, 2013 at 10:34 PM, Andy Fingerhut  > wrote:
>
>>
>> On Feb 14, 2013, at 1:27 PM, AtKaaZ wrote:
>>
>> The goal is to can write this form:
>> => *(let [a java.lang.RuntimeException]
>>  (new a)
>>  )*
>> CompilerException java.lang.**IllegalArgumentException: Unable to
>> resolve classname: a, compiling:(NO_SOURCE_PATH:2:3)
>>
>> attempt with macro:
>> =>* (defmacro mew [cls & restt]
>>  `(new ~(eval cls) ~@restt)
>>  )*
>> #'runtime.q/mew
>>
>>
>> This is probably your closest attempt.  Try this variation on the
>> above:
>>
>> (defmacro mew [cls & args]
>>   `(new ~cls ~@args))
>>
>> user=> (macroexpand-1 '(mew java.lang.RuntimeException))
>> (new java.lang.RuntimeException)
>>
>> Andy
>>
>>  --
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clo...@googlegroups.com
>>
>> Note that posts from new members are moderated - please be patient
>> with your first post.
>> To unsubscribe from this group, send email to
>> clojure+u...@**googlegroups.com
>>
>> For more options, visit this group at
>> http://groups.google.com/**group/clojure?hl=en
>> ---
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To unsubscribe from this group and stop receiving emails from it,
>> send an email to clojure+u...@**googlegroups.com.
>>
>> For more options, visit 
>> https://groups.google.com/**groups/opt_out
>> .
>>
>>
>>
>
>
>
> --
> Please correct me if I'm wrong or incomplete,
> even if you think I'll subconsciously hate it.
>
>


 --
 Please correct me if I'm wrong or incomplete,
 even if you think I'll subconsciously hate it.

  --
 --
 You received this message because you are subscribed to the Google
 Groups "Clojure" group.
 To post to this group, send email to clo...@googlegroups.com

 Note that posts from new members are moderated - please be patient with