To supply callback function from clojure to java method expecting a lambda with interop

2015-09-19 Thread Nagarajan N
I started using clojure since last year. I like the language. It even made 
me more familiar with java. Before I detested java. Am moderately familiar 
with clojure way of making interop calls to java libraries. But I have no 
idea how to interop with a java library implementing java 8 lambdas as 
method params. I am not expecting any clean way to do this (I got that from 
this thread https://groups.google.com/forum/#!topic/clojure/WjTtqrLf_FY) . 
I just need a way (however verbose it is) to call a java method expecting a 
lambda.
For example a java 8 code like this
 

server.requestHandler(request -> {
  request.response().end("hello world!");
});


how do I call this in clojure ,something like this
 

(.requestHandler
   server 
   (some-magical-function-or-macro
 [request] 
 (doto request 
   (.response) 
   (.end "hello world!!" 


I 'd like someone to point me in the right direction for this.

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


Re: Using metadata to specify how calls to a macro should be indented

2015-09-19 Thread Artur Malabarba
Nice. It's good to see that it's so similar.
Apparently they use a separate spec for grouping args as well.

2015-09-17 8:28 GMT+01:00 Jozef Wagner :

> Dunaj uses metadata to guide IDEs and pretty printer regarding
> indentations, arg grouping, ...
>
> http://www.dunaj.org/metadata.html#_indentation
> http://www.dunaj.org/day10.html#_ide_support
>
> Jozef
>
>
> On Sunday, September 13, 2015 at 12:06:50 PM UTC+2, Artur Malabarba wrote:
>>
>> Hi everyone,
>>
>>
>> Over at CIDER we're adding a feature where the author of a macro (or
>> function) can specify how that macro should be indented by adding an
>> :indent metadata to its definition. This way the editor (and other
>> tools, like cljfmt) will know what's the proper way of indenting any macro
>> (even those custom-defined) without having to hardcode a bajillion names.
>>
>> Here's an example of how you specify the indent spec for your macros
>>
>>
>> (defmacro with-out-str
>>   "[DOCSTRING]"
>>   {:indent 0}
>>   [& body]
>>   ...cut for brevity...)
>>
>> (defmacro defrecord
>>   "[DOCSTRING]"
>>   {:indent [2 nil nil [1]]}
>>   [name fields & opts+specs]
>>   ...cut for brevity)
>>
>> (defmacro with-in-str
>>   "[DOCSTRING]"
>>   {:indent 1}
>>   [s & body]
>>   ...cut for brevity...)
>>
>>
>> We'd like to hear any opinions on the practicality of this (specially
>> from authors of other editors).
>> Below, I'll be saying “macros” all the time, but this applies just the
>> same to functions.
>>
>> *Special arguments*
>>
>>
>> Many macros have a number of “special” arguments, followed by an
>> arbitrary number of “non-special” arguments (sometimes called the body).
>> The “non-special” arguments have a small indentation (usually 2 spaces).
>> These special arguments are usually on the same line as the macro name,
>> but, when necessary, they are placed on a separate line with additional
>> indentation.
>>
>> For instance, defrecord has two special arguments, and here's how it
>> might be indented:
>>
>>
>> (defrecord TheNameOfTheRecord
>> [a pretty long argument list]
>>   SomeType
>>   (assoc [_ x]
>> (.assoc pretty x 10)))
>>
>>
>> Here's another way one could do it:
>>
>>
>> (defrecord TheNameOfTheRecord
>>[a pretty long argument list]
>>   SomeType
>>   (assoc [_ x]
>> (.assoc pretty x 10)))
>>
>>
>> *The point of the indent spec is not to specify how many spaces to use.*
>>
>>
>> The point is just to say “a defrecord has *2* special arguments”, and
>> then let the editor and the user come to an agreement on how many spaces
>> they like to use for special and non-special arguments.
>>
>> *Internal indentation*
>>
>>
>> The issue goes a bit deeper. Note the last argument in that defrecord. A
>> regular function call would be internally indented as
>>
>> (assoc [_ x]
>>(.assoc pretty x 10))
>>
>> But this is not a regular function call, it's a definition. So we want to
>> specify this form internally has 1 special argument (the arglist vector),
>> so that it will be indented like this:
>>
>> (assoc [_ x]
>>   (.assoc pretty x 10))
>>
>> The indent spec we're working on does this as well. It lets you specify
>> that, for each argument beyond the 2nd, if it is a form, it should be
>> internally indented as if it had 1 special argument.
>>
>> *The spec*
>>
>>
>> An indent spec can be:
>>
>>- nil (or absent), meaning *“indent like a regular function call”*.
>>- A vector (or list) meaning that this function/macro takes a number
>>of special arguments, and then all other arguments are non-special.
>>   - The first element of this vector is an integer indicating how
>>   many special arguments this function/macro takes.
>>   - Each following element is an indent spec on its own, and it
>>   applies to the argument on the same position as this element. So, when 
>> that
>>   argument is a form, this element specifies how to indent that form
>>   internally (if it's not a form the spec is irrelevant).
>>   - If the function/macro has more aguments than the vector has
>>   elements, the last element of the vector applies to all remaining 
>> arguments.
>>- If the whole spec is just an integer n, that is shorthand for [n].
>>
>>
>> *Examples*
>>
>>
>> So, for instance, if I specify the defrecord spec as [2 nil nil [1]],
>> this is saying:
>>
>>- defrecord has 2 special arguments
>>- The first two arguments don't get special internal indentation
>>- All remaining arguments have an internal indent spec of [1] (which
>>means only the arglist is indented specially).
>>
>> Another example, reify is [1 nil [1]] (which should be easy to see now).
>>
>>
>> (reify Object
>>   (toString [this]
>> (something)
>> else
>> "here"))
>>
>>
>> For something more complicated: letfn is [1 [[1]] nil]. This means
>>
>>- letfn has one special argument (the bindings list).
>>- The first arg has an indent spec of [[1]], which means all forms
>>

Re: Using metadata to specify how calls to a macro should be indented

2015-09-19 Thread Artur Malabarba
Hi Chas,

This is a questionable proposal. It:
>
> * introduces completely orthogonal, transient concerns (presentation) into
> code, ideally a canonical, long-lived source-of-truth
>

Yes, I'm ok with that. No one is better equipped to define a macro's
indentation than it's author, and the metadata is the same place that
carries other info like arglists or docstrings.

Then again, maybe I'm just used to it because emacs-lisp uses a similar
system.


> * sets up a bikeshed at the top of every def* form
>

As bozhidar mentioned, this will only go on defs which deserve special
indentation (which is tipically just macros and not all of them). And even
then, in most cases the spec is just an integer (in my examples above I
used the most complex macros I could find in clojure.core). For instance,
the spec for let, loop, and doseq is 1, the spec for condp and catch is 2.

* adopts idiosyncratic implementation details of a particular editor's
> language support (the defrecord example's :indent is particularly obtuse
> IMO, even if you are aware of how clojure-mode is implemented)
>

Actually, the proposed spec is different from what clojure-mode is
currently using and won't work with the current release. But still, there's
no doubt I may have been influenced by what made more sense for me to
implement, that's precisely why I brought it here. :-)

If there's a better way to define it, I'd like to hear.


> I *think* I coined the "always two spaces" shorthand for the (admittedly,
> minority) position that list forms should be formatted completely
> regularly, so as to:
>
> * make formatting a trivial operation, not requiring any "real" reading
> * eliminate this entire topic
>
> Here's the first time I talked about this IIRC:
> https://groups.google.com/forum/#!msg/clojuredev-users/NzKTeY722-I/3hmNvJulcksJ
>

The spec does not define how many spaces should be used in indentation. It
just says "the author of this macro declared the first 2 args as special".
Any editor will let the user configure if they want "always 2 spaces" or if
they want "1-2-4".

-- 
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: cider-nrepl not installed (emacs24)

2015-09-19 Thread Artur Malabarba
Try deleting cider, restarting Emacs, and installing it again.
If you had an old version of dash.el installed it may have caused a bad
byte-compilation.

2015-09-20 0:20 GMT+01:00 Jeff Bauer :

> Thanks, Richard.  That got the process started, but it then aborted with:
>
> error in process filter: nrepl-log-message: Wrong number of arguments:
> (1 . 1), 0
>
> Since I'm starting with Clojure and there's a users meeting in a couple
> days,
> I'll bring my laptop out to the meeting.  There's no rush to get started
> on a
> project yet, I'm just in the process of getting a decent environment set up
> for learning the language.
>
> Thanks for your help.
>
> -Jeff
>
>
> On Saturday, September 19, 2015 at 11:56:33 AM UTC-5, Richard Norton wrote:
>>
>> I ran into a similar problem.
>>
>> Ended up following the advice here:
>> - https://github.com/clojure-emacs/cider-nrepl
>>
>> Setting ~/.lein/profiles.clj to this helped:
>> {:user {:plugins [[cider/cider-nrepl "0.10.0-SNAPSHOT"]]}}
>>
>> HTH,
>>
>> Richard
>>
>>
>> On Sat, Sep 19, 2015 at 8:12 AM, Jeff Bauer  wrote:
>>
>>> From emac24 I installed the cider package from melpa, but get the
>>> following warning when running the repl:
>>>
>>> ; CIDER 0.10.0snapshot (package: 20150918.919) (Java 1.7.0_79, Clojure
>>> 1.7.0, nREPL 0.2.10)
>>> WARNING: The following required nREPL ops are not supported:
>>> apropos classpath complete eldoc format-code format-edn info inspect-pop
>>> inspect-push inspect-refresh macroexpand ns-list ns-vars ns-path refresh
>>> resource stacktrace toggle-trace-var toggle-trace-ns undef
>>> Please, install (or update) cider-nrepl 0.10.0-SNAPSHOT and restart CIDER
>>> ERROR: CIDER's version (0.10.0-snapshot) does not match cider-nrepl's
>>> version (not installed). Things will break!
>>>
>>> I do not see either a cider-nrepl or nrepl package available on melpa or
>>> marmalade.
>>>
>>> -Jeff
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To post to this group, send email to clo...@googlegroups.com
>>> Note that posts from new members are moderated - please be patient with
>>> your first post.
>>> To unsubscribe from this group, send email to
>>> clojure+u...@googlegroups.com
>>> For more options, visit this group at
>>> http://groups.google.com/group/clojure?hl=en
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to clojure+u...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to 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] LispCast Single Page Applications with ClojureScript and Om

2015-09-19 Thread Eric Normand
Hi Tj,

Thanks for the kind words! I'm really glad you liked the course. It seems 
like you understood what I was trying to do.

And I'm happy to hear that someone got so much benefit from my work. And 
you sound like a nice person! I hope to meet you some day.

Thanks again.

Rock on!
Eric

On Saturday, September 19, 2015 at 5:30:13 AM UTC-5, Tj Gabbour wrote:
>
> I asked to purchase it last Tuesday to coincide with my rare vacation, and 
> Eric happily obliged. Everyone’s different so YMMV; but using Kathy 
> Sierra’s terms  I feel 
> more of a “badass,” having gained a couple “superpowers”: 
>
>- able to participate in conversations about Om/React.js 
>
>
>- got over the initial hump of making (and understanding without 
>nagging confusion) an eloquent single-page app 
>
>
> Educational techniques I’d like to steal when writing docs and mentoring: 
>
>- Be upfront about gotchas, so learners aren’t stuck for hours 
>experimenting/googling for the right incantation. (Many stay “backend 
>programmers” because of all the mindless incidental complexity that web 
>programming entailed. This isn’t necessarily a commitment to ignorance; 
>could be a decision to learn other fulfilling things in their limited 
>lives.) 
>
>
>- When asking the learner to code, make it incremental so they can 
>focus on one idea at a time. (One chunk in an expert’s mind can be 2, 10 
> or 
>1000 chunks in a learner’s.) Yet make it safe to go on a limb when 
>inspiration strikes. (This course is very careful to let you easily revert 
>to a Known Safe State at each step.) 
>
>
>- A high road to gamification is when the learner helps someone, even 
>if just fictionally. (The low road appeals to base urges of accumulating 
>points; which maybe reflects a fantasy that their work has the same effect 
>on their bank account.) After all, many programmers are insulated from 
>users by Scrum Masters, Product Owners, Sales… not to mention those 
>programmers who secretly feel their jobs are unnecessary 
>. For many, helping even an 
>obviously fictional person is still a step up. 
>
>
>- Slightly offtopic, but his free lesson on eval 
> 
>is by far the best, most demystifying presentation I’ve personally seen. 
>Found it more fun than watching Sussman implement it at the blackboard 
>
> .
>  
>(And Sussman is a tough act to beat.) 
>
>
>
> On Friday, September 18, 2015 at 12:15:08 AM UTC+2, Eric Normand wrote:
>>
>> Hello, Clojurists!
>>
>> I've been working hard on my new course *LispCast Single Page 
>> Applications with ClojureScript and Om 
>> .* It's an 
>> interactive course teaching the basics of building an application from the 
>> ground up. It's finished and it goes on sale on Monday, September 21. If 
>> you get on the mailing list 
>> , 
>> I'll let you know when the sale starts and *you'll get a discount code*. 
>> It will be $64 dollars and the sale will be 10% off. That's $57.60. The 
>> sale will last 48 hours.
>>
>> LispCast courses combine animations, screencasts, exercises, code, and 
>> more into a complete teaching package. I'm really happy to add *Single 
>> Page Applications* to the lineup. I've been incredibly proud of the 
>> progress ClojureScript has made to its development experience. Less than a 
>> year ago, the Clojure survey 
>>  showed that 63% 
>> of people thought it was hard to bring up a REPL and 42% thought debugging 
>> was too hard. There hasn't been a survey since that one, but with all of 
>> the work to get to a 1.7 release (including official REPLs on different 
>> platforms), it's looking so much better. I started the course back in June 
>> and things have stabilized a lot even since then. Thanks to everyone who 
>> worked on it.
>>
>> If you've been waiting to learn ClojureScript, things are really quite 
>> comfortable now. If you want to learn ClojureScript, please check out 
>> *LispCast 
>> Single Page Applications with ClojureScript and Om 
>> .*
>>
>> Rock on!
>> Eric
>>
>

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

Re: [ANN] LispCast Single Page Applications with ClojureScript and Om

2015-09-19 Thread Tj Gabbour
 

I asked to purchase it last Tuesday to coincide with my rare vacation, and 
Eric happily obliged. Everyone’s different so YMMV; but using Kathy 
Sierra’s terms  I feel 
more of a “badass,” having gained a couple “superpowers”: 

   - able to participate in conversations about Om/React.js 


   - got over the initial hump of making (and understanding without nagging 
   confusion) an eloquent single-page app 


Educational techniques I’d like to steal when writing docs and mentoring: 

   - Be upfront about gotchas, so learners aren’t stuck for hours 
   experimenting/googling for the right incantation. (Many stay “backend 
   programmers” because of all the mindless incidental complexity that web 
   programming entailed. This isn’t necessarily a commitment to ignorance; 
   could be a decision to learn other fulfilling things in their limited 
   lives.) 


   - When asking the learner to code, make it incremental so they can focus 
   on one idea at a time. (One chunk in an expert’s mind can be 2, 10 or 1000 
   chunks in a learner’s.) Yet make it safe to go on a limb when inspiration 
   strikes. (This course is very careful to let you easily revert to a Known 
   Safe State at each step.) 


   - A high road to gamification is when the learner helps someone, even if 
   just fictionally. (The low road appeals to base urges of accumulating 
   points; which maybe reflects a fantasy that their work has the same effect 
   on their bank account.) After all, many programmers are insulated from 
   users by Scrum Masters, Product Owners, Sales… not to mention those 
   programmers who secretly feel their jobs are unnecessary 
   . For many, helping even an 
   obviously fictional person is still a step up. 


   - Slightly offtopic, but his free lesson on eval 
    is 
   by far the best, most demystifying presentation I’ve personally seen. Found 
   it more fun than watching Sussman implement it at the blackboard 
   
.
 
   (And Sussman is a tough act to beat.) 



On Friday, September 18, 2015 at 12:15:08 AM UTC+2, Eric Normand wrote:
>
> Hello, Clojurists!
>
> I've been working hard on my new course *LispCast Single Page 
> Applications with ClojureScript and Om 
> .* It's an 
> interactive course teaching the basics of building an application from the 
> ground up. It's finished and it goes on sale on Monday, September 21. If 
> you get on the mailing list 
> , I'll 
> let you know when the sale starts and *you'll get a discount code*. It 
> will be $64 dollars and the sale will be 10% off. That's $57.60. The sale 
> will last 48 hours.
>
> LispCast courses combine animations, screencasts, exercises, code, and 
> more into a complete teaching package. I'm really happy to add *Single 
> Page Applications* to the lineup. I've been incredibly proud of the 
> progress ClojureScript has made to its development experience. Less than a 
> year ago, the Clojure survey 
>  showed that 63% of 
> people thought it was hard to bring up a REPL and 42% thought debugging was 
> too hard. There hasn't been a survey since that one, but with all of the 
> work to get to a 1.7 release (including official REPLs on different 
> platforms), it's looking so much better. I started the course back in June 
> and things have stabilized a lot even since then. Thanks to everyone who 
> worked on it.
>
> If you've been waiting to learn ClojureScript, things are really quite 
> comfortable now. If you want to learn ClojureScript, please check out 
> *LispCast 
> Single Page Applications with ClojureScript and Om 
> .*
>
> Rock on!
> Eric
>

-- 
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: Joxa (Re: Clojure on an Erlang-vm-os on Xen?)

2015-09-19 Thread Sebastian Bensusan
Hola Juan,

First, I want to stress that my Erlang skills are very weak and most of 
what I say is speculation -> add AFAIK to every statement.

1. Data structures, deftype, defrecord

New data structures(deftype, defrecord) can follow the Erlang convention of 
using records and then naming them with `-type`. Clojure's data structures 
'(), [], {}, #{}  can naively use erlang:lists, erlang:array, 
erlang:map/erlang:dict, and erlang:set. The first task here is to check if 
the performance guarantees and basic operations are maintained. For 
example, erlang:array s can't be directly compared for equality.

2. Namespaces, symbols, and keywords

It would be desirable to keep a namespace -> module one to one mapping. In 
Erlang atoms are used both as symbols and keywords and are not namespaced. 
Namespacing can probably be solved either by a munging mechanism or by 
using . as described here[1]. For interop, Clojure keywords should probably 
be represented as plain atoms and symbols as a new type. I'm not sure how 
this would work.

3. Protocols and multimethods

Erlang doesn't have type based dispatch and the concept of extending an 
implementation is somewhat supported by `-behavior` and `-callback`. I 
don't know enough about Erlang's module system to know if that is enough to 
implement Protocols and multimethods. It is very important that they are 
extensible which might be hard/impossible in Erlang. I expect somebody with 
more knowledge to try. Since they would be using the same dispatch 
mechanism, there would be no performance difference between them.

4. Vars, atoms, refs, and agents

In an async context only agents make sense, in the same way that only atoms 
make sense in ClojureScript. The problem is that while Clojure allows 
applying arbitrary functions/closures over the reference, in a message 
passing context only values can be serialized and used. Therefore the set 
of actions over the agent would be closed as opposed to Clojure's 
agents[2]. Closed-agents could be implemented on top mnesia or similar 
libraries.

5. Strings

Strings can be problematic in Erlang. I would suggest to just copy Elixir's 
model wholesale[3] and then figure out how well it maps to clojure.string 
and if the list of characters vs unicode string mismatch leaks out.

With those five groups there is already a lot to figure out. Then there is 
the problem of integrating necessary Erlang semantics into Clojure:

1. Pattern matching

I don't know if there are any gaps between Erlang's pattern matching and 
core.match. In any case, it's a good model to follow.

2. PIDs, messaging! and the actor model

Try out syntax to represent ! and receive that works in Lisp and Clojure 
idioms. I would look at LFE and Pulsar for this.

Once all those points are covered through prototypes/mocks figure out if 
the effort is worth it. It might as well be that LFE/Pulsar are enough to 
have a Clojure-like-thing with the desired semantics or Clojure with 
almost-the-desired-semantics. I don't have a burning need for Clojure on 
the BEAM and no time to actively pursue it but it does interest me. It 
would be cool to ask a Google Summer of Code student interested in language 
design to get a prototype working.

Best

Sebastian

[1] http://stackoverflow.com/questions/10896638/erlang-atoms-and
[2] http://clojure.org/agents
[3] http://elixir-lang.org/docs/v1.0/elixir/String.html

On Friday, September 18, 2015 at 8:30:09 PM UTC+2, juan.facorro wrote:
>
> Hi Sebastian,
>
> Thank you for your thoughts.
>
> The biggest example is that the BEAM comes with a set of Data Types / Data 
>> Structures and they can't be extended.
>
>
> While this is true, it doesn't mean it is not possible to implement new 
> data structures in Erlang. There are a number of modules that implement 
> additional data structures like array 
> , 
> gb_sets 
>  
> and others, which are mostly implemented using of tree like structures. 
> Admittedly, this is not the same as being able to implement persistent data 
> structure using mutable values, but might be enough for some (or maybe 
> most) practical purposes.
>
> In any case, it would be a *limited subset* of Clojure (much more limited 
>> than ClojureScript is).
>
>  
> What makes you say this? Do you have a specific Clojure feature in mind 
> that you think might be impossible to implement in the Erlang VM?
>
> To get a better answer, I propose to list Clojure's "features" and then 
>> iterate through them to see if they can be reasonably implemented or if 
>> they even make sense in the platform:
>
>
> I think the key phrase is *reasonably implemented*. I think your 
> suggestion of going over each Clojure feature to consider how it could be 
> implemented is spot-on. I have done this exercise and thought about 
> possible implementations. For me a r*easonable implementation* is one 
> 

cider-nrepl not installed (emacs24)

2015-09-19 Thread Jeff Bauer
>From emac24 I installed the cider package from melpa, but get the following 
warning when running the repl:

; CIDER 0.10.0snapshot (package: 20150918.919) (Java 1.7.0_79, Clojure 
1.7.0, nREPL 0.2.10)
WARNING: The following required nREPL ops are not supported: 
apropos classpath complete eldoc format-code format-edn info inspect-pop 
inspect-push inspect-refresh macroexpand ns-list ns-vars ns-path refresh 
resource stacktrace toggle-trace-var toggle-trace-ns undef
Please, install (or update) cider-nrepl 0.10.0-SNAPSHOT and restart CIDER
ERROR: CIDER's version (0.10.0-snapshot) does not match cider-nrepl's 
version (not installed). Things will break!

I do not see either a cider-nrepl or nrepl package available on melpa or 
marmalade.

-Jeff

-- 
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: cider-nrepl not installed (emacs24)

2015-09-19 Thread Jeff Bauer
Thanks, Richard.  That got the process started, but it then aborted with:

error in process filter: nrepl-log-message: Wrong number of arguments: 
(1 . 1), 0

Since I'm starting with Clojure and there's a users meeting in a couple 
days,
I'll bring my laptop out to the meeting.  There's no rush to get started on 
a
project yet, I'm just in the process of getting a decent environment set up
for learning the language.

Thanks for your help.

-Jeff


On Saturday, September 19, 2015 at 11:56:33 AM UTC-5, Richard Norton wrote:
>
> I ran into a similar problem.
>
> Ended up following the advice here:
> - https://github.com/clojure-emacs/cider-nrepl
>
> Setting ~/.lein/profiles.clj to this helped:
> {:user {:plugins [[cider/cider-nrepl "0.10.0-SNAPSHOT"]]}}
>
> HTH,
>
> Richard
>
>
> On Sat, Sep 19, 2015 at 8:12 AM, Jeff Bauer  > wrote:
>
>> From emac24 I installed the cider package from melpa, but get the 
>> following warning when running the repl:
>>
>> ; CIDER 0.10.0snapshot (package: 20150918.919) (Java 1.7.0_79, Clojure 
>> 1.7.0, nREPL 0.2.10)
>> WARNING: The following required nREPL ops are not supported: 
>> apropos classpath complete eldoc format-code format-edn info inspect-pop 
>> inspect-push inspect-refresh macroexpand ns-list ns-vars ns-path refresh 
>> resource stacktrace toggle-trace-var toggle-trace-ns undef
>> Please, install (or update) cider-nrepl 0.10.0-SNAPSHOT and restart CIDER
>> ERROR: CIDER's version (0.10.0-snapshot) does not match cider-nrepl's 
>> version (not installed). Things will break!
>>
>> I do not see either a cider-nrepl or nrepl package available on melpa or 
>> marmalade.
>>
>> -Jeff
>>
>> -- 
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clo...@googlegroups.com 
>> 
>> Note that posts from new members are moderated - please be patient with 
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+u...@googlegroups.com 
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "Clojure" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to clojure+u...@googlegroups.com .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to 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: cider-nrepl not installed (emacs24)

2015-09-19 Thread Bozhidar Batsov
It's usually a good idea to get familiar with the first few sections of any
project's README. :-)

On 19 September 2015 at 19:04, Mauricio Aldazosa <
mauricio.aldaz...@gmail.com> wrote:

> Hi,
>
> cider-nrepl is some middleware that sits outside emacs. You can use it via
> leiningen or boot. Take a look at the instructions here:
> https://github.com/clojure-emacs/cider#cider-nrepl-middleware
>
> Happy hacking,
> Mauricio
>
> ​
>
> --
> 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: cider-nrepl not installed (emacs24)

2015-09-19 Thread Richard Norton
I ran into a similar problem.

Ended up following the advice here:
- https://github.com/clojure-emacs/cider-nrepl

Setting ~/.lein/profiles.clj to this helped:
{:user {:plugins [[cider/cider-nrepl "0.10.0-SNAPSHOT"]]}}

HTH,

Richard


On Sat, Sep 19, 2015 at 8:12 AM, Jeff Bauer  wrote:

> From emac24 I installed the cider package from melpa, but get the
> following warning when running the repl:
>
> ; CIDER 0.10.0snapshot (package: 20150918.919) (Java 1.7.0_79, Clojure
> 1.7.0, nREPL 0.2.10)
> WARNING: The following required nREPL ops are not supported:
> apropos classpath complete eldoc format-code format-edn info inspect-pop
> inspect-push inspect-refresh macroexpand ns-list ns-vars ns-path refresh
> resource stacktrace toggle-trace-var toggle-trace-ns undef
> Please, install (or update) cider-nrepl 0.10.0-SNAPSHOT and restart CIDER
> ERROR: CIDER's version (0.10.0-snapshot) does not match cider-nrepl's
> version (not installed). Things will break!
>
> I do not see either a cider-nrepl or nrepl package available on melpa or
> marmalade.
>
> -Jeff
>
> --
> 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: cider-nrepl not installed (emacs24)

2015-09-19 Thread Mauricio Aldazosa
Hi,

cider-nrepl is some middleware that sits outside emacs. You can use it via
leiningen or boot. Take a look at the instructions here:
https://github.com/clojure-emacs/cider#cider-nrepl-middleware

Happy hacking,
Mauricio

​

-- 
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] com.stuartsierra/component 0.3.0 now with ClojureScript

2015-09-19 Thread Leon Grapenthin
Thanks for the release.

Given that you were originally sceptical towards CLJS support, is there a 
particular application or use case that made your change your mind?

Kind regards,
 Leon.

On Friday, September 18, 2015 at 10:51:19 PM UTC+2, Stuart Sierra wrote:
>
> 'Component' - lifecycle and dependency management for objects with runtime 
> state.
>
> https://github.com/stuartsierra/component
>
> Leiningen dependency: 
> [com.stuartsierra/component "0.3.0"]
>
>
> Changes in this release:
>
> * Added ClojureScript support via Conditional Read (.cljc)
>
> * Minimum Clojure version is now 1.7.0
>
> * Exceptions have been modified slightly for cross-platform compatibility.
>
> * No public API changes from 0.2.3
>
>
> License: MIT  http://opensource.org/licenses/MIT
>
>

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