Live data from Hacker News

Clojure 1.9 is now available

blog.cognitect.com

31–40 of 121 posts

Re: Clojure 1.9 is now available

#31

Earlier quoted context omitted.

Well, for the first time since the langauge was created you can now do `brew install clojure`, and then `clj` on the commandline and get a repl. I would have loved something that painless when I was learning Clojure.

Leiningen has been incredibly painless: $ brew install leiningen $ lein repl That's literally all it took.

I agree, but it does take a while to figure out that leiningen exist

And then you learn that not everyone use leiningen ... and things become a bit more confusing than necessary for some people, especially beginners

Re: Clojure 1.9 is now available

#32
post #2

Can anyone sell me on why I should use clojure over say, any of the other nice Lisp-1s, given that I don't care about java.

>Can anyone sell me on why I should use clojure over say, any of the other nice Lisp-1s, given that I don't care about java.

It's the same question I make myself, since after learning Clojure here I am, still using Common Lisp happily ever after.

Well, if you think that data should be immutable by default,

if you really need readymade syntax sugar for hash table and the likes,

if you don't have any need for object oriented programming, not even once a year, and if you particularly don't feel any appeal for what is by far the most advanced OOP system out there (CLOS),

if you love the Java ecosystem and need to be reminded of the J2SE libraries by using them directly all the time to do things other languages have built inside their own stdlib (but Clojure does not),

if you don't feel wrong knowing that your code won't be compatible with the .NET CLR (or other platforms) without rewriting substantial parts, despite the language still being called "Clojure",

if you don't know that basically all you can do with Clojure, including talking to Java (and also C) libs, and all sorts of concurrency things, you can also do with good old, high performance Common Lisp...

... then welcome to Clojure! Clojure is easy to learn, fashionable, well supported, and popular.

I guess that if you are into developing single page applications, Clojure can be a neat choice.

Re: Clojure 1.9 is now available

#33
post #26

Earlier quoted context omitted.

/r/atwoodslaw/[0] [0]: https://www.reddit.com/r/atwoodslaw/

Can you explain the relevance of your comment / the idea you're trying to convey?

The parent found it strange that a js cli was needed as well. I pointed at atwoodslaw as a reason why duplicate tools can be found.

I must note, I like clojure for its cross vm support. One lisp to rule them all.

Re: Clojure 1.9 is now available

#34
post #9

Earlier quoted context omitted.

Spec is still alpha as far as I'm aware. They decided to break spec off into it's own library because it was holding up the release of 1.9.

The API is still subject to change (alpha) but those changes are not expected to be dramatic at this point.

I'm looking forward to hearing a long-form rational of the :args :ret :fn function instrumenting decisions, and seeing if the devs see it as an easy choice or up for debate.

It feels really uncomfortable declaring a full spec for a function & instrumenting it, then getting feedback if the args don't conform to spec but Clojure being A-OK if the return value doesn't.

I understand well that in theory the functioning of a function can be fully checked in a proactive test framework, but the process for testing return values is way clunkier and less fun than testing argument values. It just seems weird that the function has a spec, the function doesn't conform and Clojure doesn't seem to be bothered.

I can see it will only be a matter of days until I have Orchestra installed for all my projects.

Re: Clojure 1.9 is now available

#35
post #2

Can anyone sell me on why I should use clojure over say, any of the other nice Lisp-1s, given that I don't care about java.

If you need to force yourself, or if you need extra special motivation to use Clojure .. most likely you will never use it

You might spend sometime learning it out of curiosity, but you will never use it

The languages I used, are ones I had to use, either because they were the only option, or clearly the best option for my solution (C#, VB.Net, Powershell, SQL)

Clojure will never be your only option, and .. it being the best option is highly subjective

I tried to like Clojure, because of all the blogs and talks, and the reputation of it being a smart language for smart people (I obviously, wanted to belong to this group, and still do) .. but for my work, and use cases (Business Intelligence), it will never be the best option, or the only option

The same list that include Clojure, for me also include F#, D, Dart, Ada 2012, Idris, Julia, Rust .. I am sure since you asked this question, you have your own list too .. and you know, nothing will really work to motivate you

Re: Clojure 1.9 is now available

#36
post #31

Earlier quoted context omitted.

Leiningen has been incredibly painless: $ brew install leiningen $ lein repl That's literally all it took.

I agree, but it does take a while to figure out that leiningen exist And then you learn that not everyone use leiningen ... and things become a bit more confusing than necessary for some people, especially beginners

Sorry but this whole conversation is a stretch. Anyone who looks into Clojure finds out about Leiningen. The official clojure.org even mentions it. No it's more than a stretch, it's rationalizing.

Re: Clojure 1.9 is now available

#37
post #2

Can anyone sell me on why I should use clojure over say, any of the other nice Lisp-1s, given that I don't care about java.

Associative data structures (maps / dicts) are super first-class in Clojure, in a way that they aren't in other Lisp-1's (at least from what I remember of dabbling in Racket). There's a literal syntax for them. Keywords are functions that you can call with a map as an argument. You can destructure them in `let` bindings. And so on. In my opinion, this turns out to be a pretty major win. Code is still data, it's just…

>Hash tables in vanilla Common Lisp are a nightmare

I seriously disagree with such a statement.

Also, i feel confused that a lisp being a Lisp-2 could be an "issue". Separate namespaces for functions, symbols, classes, labels and so on is great, because they dramatically simplify naming things, which is one very important task for writing clean, readable, maintenable code.

Re: Clojure 1.9 is now available

#38
post #2

Can anyone sell me on why I should use clojure over say, any of the other nice Lisp-1s, given that I don't care about java.

Why would anyone want to sell you on something? Do you want to be sold on it? Is that what you want your interactions on this site to be?

Some people probably like it. They've had a good experience with it, that they'd like to pass along. I feel this way about several thing and will happily evangelise to someone who seems willing. I was inviting others to do that . Several of them have responded as I expected and provided lots of interesting information.

Since I achieved my aim and stimulated some useful and on-topic discussion, yes, this is what I want my interactions on this site to be. Thanks for asking.

Re: Clojure 1.9 is now available

#39

Why focus on command line tools? There's already Leiningen which does an amazing job, and Boot for the few use-cases Leiningen doesn't take care of. Creating another CLI seems very strange.

Because lein is bloated, breaks constantly, and is absolutely overkill if all you want is a REPL and some deps from Maven.

Re: Clojure 1.9 is now available

#40
post #9

Earlier quoted context omitted.

Spec is still alpha as far as I'm aware. They decided to break spec off into it's own library because it was holding up the release of 1.9.

The API is still subject to change (alpha) but those changes are not expected to be dramatic at this point.

Why are all the relevant changes for a point release alpha? Why do you reckon this isn’t 1.9-alpha?
Post reply on HN