--
You received this message because you are subscribed to the Google Groups "Cursive" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cursive+u...@googlegroups.com.
To post to this group, send email to cur...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cursive/1badce39-0b62-499d-aeef-304792ade6c3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Hi JoachimI'm able to use Cursive 1.6.0-eap2-2017.1 with full functionality with IntelliJ 2017.1.4. I didn't notice any issues with any of the 1.5 series of Cursive and 2017.1.3 either. Did you follow these instructions to setup the Maven project? https://cursive-ide.com/userguide/projects.htmlAlso, did you have Clojure-Kit and Cursive both enabled at the same time? I think that is likely to not work very well.
On Wed, Jun 28, 2017 at 11:32 PM Joachim Martillo <joachim.c...@gmail.com> wrote:
I'm new to Clojure, but I think it would work great to provide NLP functionality in medical, financial, and legal web services.--Thus I am very interested in building mixed language Java-Scala-Clojure microservices.I am developing problem sets and notes for an introductory course in Web Development.Here is my article that addresses a simple mixed language Java-Clojure client application.The article discloses that the Cursive plugin 1.5-1-2017.1 only worked partially with Intellij Idea 2017.1.3 Build #IU-171.4249.39.Am I doing something wrong? Or is there another version of the Cursive plugin that will work with the latest subscription version of Intellij?Almost no functionality of the Clojure-Kit (Version: 0.7.0) worked with this version of Intellij.
You received this message because you are subscribed to the Google Groups "Cursive" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cursive+unsubscribe@googlegroups.com.
To post to this group, send email to cur...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cursive/1badce39-0b62-499d-aeef-304792ade6c3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the Google Groups "Cursive" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/cursive/grj9X6QeBEY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to cursive+unsubscribe@googlegroups.com.
To post to this group, send email to cur...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cursive/CAK2UX_hVHMysO0N2E7DiB-ZiwV%2B-w7izSBon89kyh%2BcWFJhZag%40mail.gmail.com.
| require.invoke( Clojure.read( "edu.webdev.CoursesClientRequest" ) ); |
To view this discussion on the web visit https://groups.google.com/d/msgid/cursive/CAF8E3%2Bst17i8w1epGJhVBQjoRo3wmp9KexicwK%2Bfm7wXDTFU1A%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cursive/CAOfqWb2bprPdexriufbaTbPOGyggtvt0AaEEEE4TkLqf3nfGTw%40mail.gmail.com.
To unsubscribe from this group and stop receiving emails from it, send an email to cursive+u...@googlegroups.com.
To post to this group, send email to cur...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cursive/1badce39-0b62-499d-aeef-304792ade6c3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the Google Groups "Cursive" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/cursive/grj9X6QeBEY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to cursive+u...@googlegroups.com.
To post to this group, send email to cur...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cursive/CAK2UX_hVHMysO0N2E7DiB-ZiwV%2B-w7izSBon89kyh%2BcWFJhZag%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "Cursive" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cursive+u...@googlegroups.com.
To post to this group, send email to cur...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cursive/CAF8E3%2Bst17i8w1epGJhVBQjoRo3wmp9KexicwK%2Bfm7wXDTFU1A%40mail.gmail.com.
--
You received this message because you are subscribed to a topic in the Google Groups "Cursive" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/cursive/grj9X6QeBEY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to cursive+u...@googlegroups.com.
To post to this group, send email to cur...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cursive/CAOfqWb2bprPdexriufbaTbPOGyggtvt0AaEEEE4TkLqf3nfGTw%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "Cursive" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cursive+u...@googlegroups.com.
To post to this group, send email to cur...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cursive/CAF8E3%2BvGLLc3DzSY8i%2Bk7K74O2k%2Bbqw1e_P6kLUAMJjrJ_YTSg%40mail.gmail.com.
Hi Joachim,
My apologies for not writing earlier.
I agree with Daniel’s last comment - I would recommend replacing your previous project config entirely. I forked and cloned your repo, and did the following:
<build>, I removed the following:
<sourceDirectory>src/main/scala</sourceDirectory>
<testSourceDirectory>src/test/scala</testSourceDirectory>
. These interfered with the project import - once they were removed, src/main/java was correctly marked as a source root (blue folder in the project view).src/main/clojure as a source root, for some reason I couldn’t get IntelliJ to do that automatically based on the pom. I’ve asked the author of the Maven project (who’s an IntelliJ user) about that. If your Clojure code is not under a source root much weirdness will ensue.Once that was done, the project imported ok.
A few comments about the interop you’re using in your project:
src/main/clojure/src directory is definitely unnecessary, that’s why Clojure-Kit prepended src to your namespace name. I moved the src/main/clojure/src/edu directory directly under src/main/clojure, and removed src from the start of your package names.gen-class in the ns form directly, you shouldn’t use :name - the name of the class will be the namespace name. You use :name when using bare gen-class in the namespace rather than having it inlined in the ns form. You’ll also need to import the class to be able to use it without fully qualifying it, so you’ll end up with an ns form like:
(ns edu.webdev.CoursesClientRequest
(:gen-class
:methods [#^{:static true} [doCoursesClientRequest [String] Void]])
(:import (edu.webdev CoursesClientRequest)))
edu.webdev.CoursesClientRequest in two places, in Clojure and in Java - that’s why the IDE is complaining in the Java class. You’ll need to rename one of them.gen-class, the whole point is that you end up with a plain Java class at the end of it. So in your Java code, you don’t have to use Clojure.var, you can just do new CoursesClientRequest().doCoursesClientRequest() as you would with any other class.gen-class is pretty fiddly and awkward. I would recommend using Clojure.var, but then you don’t need gen-class at all and you can just write idiomatic Clojure, look up the var of your entry point function and call it directly. This also means that you won’t need to AOT compile your code, which you should probably avoid anyway.new or dot forms directly. For method calls, instead of (. log (debug "arguments: {} {}" s (. me (toString)))) it’s idiomatic to use (.debug log "arguments: {} {}" s (.toString me)), and instead of (new com.sun.jersey.api.client.config.DefaultClientConfig) it’s idiomatic to import the Java class and then write (DefaultClientConfig.).In general, I agree with Frederic’s comment that minimising the number of languages in a project is desirable. Interop between them all is possible but awkward, and unless you have a good reason to (you want to use Scala with Akka and Clojure with Datomic, or something like that), I’d recommend trying to use one of them idiomatically until you hit a hard limit of some kind.
Cheers,
Colin
To unsubscribe from this group and stop receiving emails from it, send an email to cursive+unsubscribe@googlegroups.com.
To post to this group, send email to cur...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cursive/1badce39-0b62-499d-aeef-304792ade6c3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the Google Groups "Cursive" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/cursive/grj9X6QeBEY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to cursive+unsubscribe@googlegroups.com.
To post to this group, send email to cur...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cursive/CAK2UX_hVHMysO0N2E7DiB-ZiwV%2B-w7izSBon89kyh%2BcWFJhZag%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Cursive" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cursive+unsubscribe@googlegroups.com.
To post to this group, send email to cur...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cursive/CAF8E3%2Bst17i8w1epGJhVBQjoRo3wmp9KexicwK%2Bfm7wXDTFU1A%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the Google Groups "Cursive" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/cursive/grj9X6QeBEY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to cursive+unsubscribe@googlegroups.com.
To post to this group, send email to cur...@googlegroups.com.
--To view this discussion on the web visit https://groups.google.com/d/msgid/cursive/CAOfqWb2bprPdexriufbaTbPOGyggtvt0AaEEEE4TkLqf3nfGTw%40mail.gmail.com.
You received this message because you are subscribed to the Google Groups "Cursive" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cursive+unsubscribe@googlegroups.com.
To post to this group, send email to cur...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cursive/CAF8E3%2BvGLLc3DzSY8i%2Bk7K74O2k%2Bbqw1e_P6kLUAMJjrJ_YTSg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Cursive" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cursive+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cursive/CAK2UX_gA3g4BM436OLjCREw0e38fHABYOyyt7hGaGkV_6jg-Dw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the Google Groups "Cursive" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/cursive/grj9X6QeBEY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to cursive+unsubscribe@googlegroups.com.
To post to this group, send email to cur...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cursive/etPan.59599c6d.2b9aacf2.1ba%40cursive-ide.com.
I think what you want for Clojure is compojure-api. This is getting pretty far outside my realm of expertise though, and I suspect you’d get better/more complete answers on the main Clojure mailing list.
You definitely can interoperate between all the JVM languages, but it’s often not the best experience due to the different ways that they munge class names etc - the code can end up fairly ugly. That said, Cursive itself is a mix of Java/Kotlin and Clojure, so it’s definitely possible. I believe Scala interop with Clojure is messier but I know of several Cursive users doing it, so it is possible. I’ve fixed various related bugs but I’ve never done anything serious with it myself.